如何设置XlsxWriter数据验证的不相邻单元格范围

mp252

我正在使用Python XlsxWriter模块使用data_validation当前设置的方法添加下拉列表,因此我将重复项放在Pandas Series上,然后将其转换为列表,并为下拉列表设置值,如下所示:

# set the column values to be a list
worksheet.data_validation(xlsx_header_letter + '2:' + xlsx_header_letter + str(1+n_rows),
{'validate': 'list', 'source': col_dropped_duplicates})

这可以正常工作,但是如果列表超过255个字符,则根据Excel,它将不允许它进行验证。相反,他们提到您应该使用如下范围:

# Using 'source'.
worksheet.data_validation('B10', {'validate': 'list',
                              'source': '=$E$4:$G$4'})

上面的例子来自他们的文档。但是,我无法创建这样的动态范围,因为我的系列的值降低了(我删除了重复的值)。因此,我只希望为这些值选择单元格。

这可能吗?

我试图使用类似的东西:

worksheet.data_validation(xlsx_header_letter + '2:' + xlsx_header_letter + str(1+n_rows),
{'validate': 'list', 'source': '=($C$2:$C$2, $C$7:$C$7)'})

但是当我保存Excel时,它已损坏。

更新:我还尝试使用删除的重复值创建另一个工作表,并将范围设置为该工作表的名称和范围。但是它仍然保存损坏的文件。类似于:

worksheet.data_validation(
xlsx_header_letter + '2:' + xlsx_header_letter + str(1+n_rows), {'validate': 
'list', 'source': '=' + new_sheet_name + '!A2:A4'})

更新2 /已解决:根据@jmcnamara注释。我在Excel中进行了测试,并能够使用另一张工作表中删除的重复项来创建验证。我在工作表名称周围缺少单撇号(')。因此,为了使其正常工作,您必须首先使用未复制的数据像这样创建一个新工作表:

    # create new worksheet with the values
    col_dropped_duplicates_df = pd.DataFrame({'Data':col_dropped_duplicates})


    col_dropped_duplicates_df.to_excel(writer, index=False, sheet_name=new_sheet_name, encoding='utf-8')

然后使用A列作为数据验证来源的范围,如下所示:

worksheet.data_validation(
xlsx_header_letter + '2:' + xlsx_header_letter + str(1 + n_rows),
{'validate': 'list',
 'source': "='" + new_sheet_name + "'!$A$2:$A" + str(
     len(col_dropped_duplicates)+1)})
杰姆纳马拉

上面的例子来自他们的文档。但是,我无法创建这样的动态范围,因为我的系列的值降低了(我删除了重复的值)。因此,我只希望为这些值选择单元格。

这可能吗?

据我所知,这在Excel中是不可能的(甚至与XlsxWriter无关)。

如果您尝试在Excel数据验证中选择不连续的范围,则会收到以下消息:“您不能为数据验证条件使用引用运算符(例如并集,交集和范围)或任何常量”。

您可以验证自己。如果在Excel中有可能,则在XlsxWriter中有可能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel-如何产生在SUMPRODUCT中使用的不相邻单元格的数组

来自分类Dev

如何在Excel中计算不相邻的空白单元格?

来自分类Dev

Sumif 一行中的不相邻单元格

来自分类Dev

宏可根据相邻库仑中的非空白单元格设置范围

来自分类Dev

仅当相邻单元格不为空时,才在单元格中输入如何验证信息。Excel VBA

来自分类Dev

如何从多个范围生成日期列表,并将其与相邻的单元格值匹配

来自分类Dev

如何在不相邻列之一中查找单元格并返回行号-需要Excel公式

来自分类Dev

仅将相邻单元格合并到范围内的合并单元格

来自分类Dev

根据相邻单元格值锁定行中的单元格范围

来自分类Dev

Google脚本-如何将公式设置为相邻的单元格

来自分类Dev

设置单元格数据后,如何更新UICollectionView中单元格的大小?

来自分类Dev

如果存在文本,则设置相邻单元格的公式

来自分类Dev

公式单元格上的XlsxWriter设置格式

来自分类Dev

如何设置单元格数据类型

来自分类Dev

如何使用pyside在QtableView单元格中设置数据

来自分类Dev

如何设置数据表列中的单元格样式?

来自分类Dev

设置单元格名称等于相邻单元格的值

来自分类Dev

计数相邻单元格

来自分类Dev

矩阵的相邻单元格

来自分类Dev

Excel-将不相邻的水平单元格中的最高n个值求和

来自分类Dev

计算单元格的数据验证

来自分类Dev

VBA更新单元格与数据验证?

来自分类Dev

VBA添加单元验证失败单个单元格范围

来自分类Dev

使数据网格单元格的内容跨越多个相邻的单元格空间

来自分类Dev

与相邻单元格相比如何增加/减少

来自分类Dev

如何将拆分的Google Spreadsheet单元格值推到相邻单元格

来自分类Dev

VBA如何显示与另一个单元格相邻的单元格的值?

来自分类Dev

数字:如果当前单元格等于某个值,如何返回相邻单元格的值?

来自分类Dev

如何根据相邻单元格的内容对单元格求和

Related 相关文章

  1. 1

    Excel-如何产生在SUMPRODUCT中使用的不相邻单元格的数组

  2. 2

    如何在Excel中计算不相邻的空白单元格?

  3. 3

    Sumif 一行中的不相邻单元格

  4. 4

    宏可根据相邻库仑中的非空白单元格设置范围

  5. 5

    仅当相邻单元格不为空时,才在单元格中输入如何验证信息。Excel VBA

  6. 6

    如何从多个范围生成日期列表,并将其与相邻的单元格值匹配

  7. 7

    如何在不相邻列之一中查找单元格并返回行号-需要Excel公式

  8. 8

    仅将相邻单元格合并到范围内的合并单元格

  9. 9

    根据相邻单元格值锁定行中的单元格范围

  10. 10

    Google脚本-如何将公式设置为相邻的单元格

  11. 11

    设置单元格数据后,如何更新UICollectionView中单元格的大小?

  12. 12

    如果存在文本,则设置相邻单元格的公式

  13. 13

    公式单元格上的XlsxWriter设置格式

  14. 14

    如何设置单元格数据类型

  15. 15

    如何使用pyside在QtableView单元格中设置数据

  16. 16

    如何设置数据表列中的单元格样式?

  17. 17

    设置单元格名称等于相邻单元格的值

  18. 18

    计数相邻单元格

  19. 19

    矩阵的相邻单元格

  20. 20

    Excel-将不相邻的水平单元格中的最高n个值求和

  21. 21

    计算单元格的数据验证

  22. 22

    VBA更新单元格与数据验证?

  23. 23

    VBA添加单元验证失败单个单元格范围

  24. 24

    使数据网格单元格的内容跨越多个相邻的单元格空间

  25. 25

    与相邻单元格相比如何增加/减少

  26. 26

    如何将拆分的Google Spreadsheet单元格值推到相邻单元格

  27. 27

    VBA如何显示与另一个单元格相邻的单元格的值?

  28. 28

    数字:如果当前单元格等于某个值,如何返回相邻单元格的值?

  29. 29

    如何根据相邻单元格的内容对单元格求和

热门标签

归档