跨多个列的 XLSXWriter 公式
XLSXWriter formula across more than one column
我正在尝试对电子表格中的每一列应用一个简单的乘法公式 (B1=B2*B3...C1=C2*C3)。
我已经查看了(很棒的)xlsxwriter 文档,以及这个类似的问题:,但我无法让它跨多个列工作。使用循环并递增行号的值很容易向下移动一列,但我无法在一行(多列)上应用相同的概念。
我正在使用 xl_rowcol_to_cell()
获取电子表格中最后一个单元格的 A1 表示法(因为每次都会不同),但我不知道如何将这些变量插入一个可行的公式或数组公式。
cell1 = xl_rowcol_to_cell(1, total_columns - 1)
cell2 = xl_rowcol_to_cell(2, total_columns - 1)
cell3 = xl_rowcol_to_cell(3, total_columns - 1)
我在想这样的事情:
worksheet.write_array_formula('B1:%s', '{=PRODUCT(B2:%s,B3:%s)}' % (cell1, cell2, cell3))
但我一直遇到字符串格式问题,当我尝试只插入实际值而不是使用字符串格式时,我从 Excel 中得到了垃圾。
如有任何帮助,我们将不胜感激。
我误解了数组公式的使用方式。我链接的问题有足够的信息来解决我的问题:
for col_num in range(1, total_columns):
worksheet.write_formula(1, col_num, '=B2:%s*B3:%s' % (cell2, cell3))
我正在尝试对电子表格中的每一列应用一个简单的乘法公式 (B1=B2*B3...C1=C2*C3)。
我已经查看了(很棒的)xlsxwriter 文档,以及这个类似的问题:
我正在使用 xl_rowcol_to_cell()
获取电子表格中最后一个单元格的 A1 表示法(因为每次都会不同),但我不知道如何将这些变量插入一个可行的公式或数组公式。
cell1 = xl_rowcol_to_cell(1, total_columns - 1)
cell2 = xl_rowcol_to_cell(2, total_columns - 1)
cell3 = xl_rowcol_to_cell(3, total_columns - 1)
我在想这样的事情:
worksheet.write_array_formula('B1:%s', '{=PRODUCT(B2:%s,B3:%s)}' % (cell1, cell2, cell3))
但我一直遇到字符串格式问题,当我尝试只插入实际值而不是使用字符串格式时,我从 Excel 中得到了垃圾。
如有任何帮助,我们将不胜感激。
我误解了数组公式的使用方式。我链接的问题有足够的信息来解决我的问题:
for col_num in range(1, total_columns):
worksheet.write_formula(1, col_num, '=B2:%s*B3:%s' % (cell2, cell3))