在 xlsxwrtier 中使用嵌套公式
Using nested formulas in xlsxwrtier
我正在尝试用 python 和 xlsxwriter 生成一个 excel sheet,我想在单元格中包含以下公式:
=IFERROR(AVERAGE(A1:A10);"")
而我的德语 excel 会显示为
=WENNFEHLER(MITTELWERT(A1:A10);"")
但我真的不认为语言方面有什么不同。
只要我在做,它就很好用:
worksheet.write_formula(l+4,1+k,"=AVERAGE(%s%s:%s%s)"%(chr(65+1+k),4,chr(65+1+k),l+4))
不起作用的是使用嵌套公式。 Excel 打开 sheet 时总是出错。
我认为这应该有效:
worksheet.write_formula(l+4,1+k,"=IFERROR(AVERAGE(%s%s:%s%s);0)"%(chr(65+1+k),4,chr(65+1+k),l+4))
我认为我犯了语法错误或在 xlsxwriter 中遇到了限制。
有人知道这在 xlsxwriter 中是如何工作的吗?
我无法在文档中找到嵌套公式,也无法在其他地方找到任何此类示例。
这可能吗?
最佳,
不公平
公式应该有效,但您需要将分号改为逗号。请参阅 XlsxWriter 文档的 Working with Formulas 部分,其中解释了 Excel 公式之间的一些其他差异:
Also, formulas must be written with the US style separator/range operator which is a comma (not semi-colon). Therefore a formula with multiple values should be written as follows:
worksheet.write_formula('A1', '=SUM(1, 2, 3)') # OK
worksheet.write_formula('A2', '=SUM(1; 2; 3)') # Semi-colon. Error on load.
该文档中还有一个 link 到这个方便 Formula Translator。
最后,您可能还想看看 XlsxWriter 提供的 Cell Utility Functions,它可能会帮助您在公式中创建范围。
我正在尝试用 python 和 xlsxwriter 生成一个 excel sheet,我想在单元格中包含以下公式:
=IFERROR(AVERAGE(A1:A10);"")
而我的德语 excel 会显示为
=WENNFEHLER(MITTELWERT(A1:A10);"")
但我真的不认为语言方面有什么不同。
只要我在做,它就很好用:
worksheet.write_formula(l+4,1+k,"=AVERAGE(%s%s:%s%s)"%(chr(65+1+k),4,chr(65+1+k),l+4))
不起作用的是使用嵌套公式。 Excel 打开 sheet 时总是出错。 我认为这应该有效:
worksheet.write_formula(l+4,1+k,"=IFERROR(AVERAGE(%s%s:%s%s);0)"%(chr(65+1+k),4,chr(65+1+k),l+4))
我认为我犯了语法错误或在 xlsxwriter 中遇到了限制。 有人知道这在 xlsxwriter 中是如何工作的吗?
我无法在文档中找到嵌套公式,也无法在其他地方找到任何此类示例。 这可能吗?
最佳,
不公平
公式应该有效,但您需要将分号改为逗号。请参阅 XlsxWriter 文档的 Working with Formulas 部分,其中解释了 Excel 公式之间的一些其他差异:
Also, formulas must be written with the US style separator/range operator which is a comma (not semi-colon). Therefore a formula with multiple values should be written as follows:
worksheet.write_formula('A1', '=SUM(1, 2, 3)') # OK
worksheet.write_formula('A2', '=SUM(1; 2; 3)') # Semi-colon. Error on load.
该文档中还有一个 link 到这个方便 Formula Translator。
最后,您可能还想看看 XlsxWriter 提供的 Cell Utility Functions,它可能会帮助您在公式中创建范围。