gpt4 book ai didi

python - 如何使用 openpyxl 在 Excel 工作表中插入数组公式?

转载 作者:行者123 更新时间:2023-12-04 20:04:18 28 4
gpt4 key购买 nike

我正在使用 OpenPyxl 创建和修改 Excel 工作表。
我在 Excel 中有以下公式:

=(SUM(IF(LEFT(Balances!$B$2:$B$100,LEN($B4))=$B4,Balances!$D$2:$D$100)))

这个公式是一个“数组公式”,但是为了手写它,我必须用 CTRL+SHIFT+ENTER 完成(因为它是一个数组公式)。
这个变换然后公式如下:
{=(SUM(IF(LEFT(Balances!$B$2:$B$100,LEN($B4))=$B4,Balances!$D$2:$D$100)))}

我希望能够使用以下代码通过 OpenPyxl 编写此公式:
    sheet.cell(row=j, column=i).value = '{=(SUM(IF(LEFT(Balances!$B$2:$B$100,LEN($B4))=$B4,Balances!$D$2:$D$100)))}'

但是,它不起作用。 OpenPyxl 无法管理它。它给了我写但不工作的公式。

我可以用 XLSX Writer
https://xlsxwriter.readthedocs.io/example_array_formula.html
但是 XLSX 编写器不适用于已创建的文件。

我看不到要走的路。

最佳答案

使用 worksheet.formula_attributes设置数组公式。将公式放在所需的单元格中,本例中为 A1。然后设置formula_attributes到要应用公式的单元格区域。

ws["A1"] = "=B4:B8"
ws.formula_attributes['A1'] = {'t': 'array', 'ref': "A1:A5"}

关于python - 如何使用 openpyxl 在 Excel 工作表中插入数组公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57298554/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com