[英]xlsxwriter python =AVERAGE not working
我正在使用python的xlsxwriter模块将一些模拟结果写入excel文件。 编写结果似乎运行良好。 但是我还需要计算“模拟平均值”,可以通过= AVERAGE(CELL:CELL)完成。
不幸的是,尽管公式实际上在工作表中显示为“ = AVERAGE(A2:A10001)”,但这似乎不起作用,但是该值只是设置为0。如果我现在将包含公式的该单元格复制并粘贴到另一个单元格,它将被执行。
有谁知道xlsxwriter如何能够自动执行此操作,而不仅仅是将公式写入单元格中?
for x in range(0, len(exploit_names)):
worksheet.write(amount_of_runs+1, x , '=AVERAGE(' + chr(65 + x) + '2:' + chr(65 + x)+str(amount_of_runs + 1) + ')')
worksheet.write_formula(amount_of_runs + 1, x,
'=AVERAGE(' + chr(65 + x) + '2:' + chr(65 + x) + str(amount_of_runs + 1) + ')',
cell_format1, "#DIV/0!")
这立即执行了公式,并为我提供了单元格的正确值。 更多解决方法可以在此问题页面上找到,@ jmcnamara在其发表的评论中。
有谁知道xlsxwriter如何能够自动执行此操作,而不仅仅是将公式写入单元格中?
来自XlsxWriter 常见问题/已知问题 :
公式结果在非Excel应用程序中显示为零
由于各种可能的公式以及它们之间的相互依赖性,因此XlsxWriter不能(实际上无法计算)将公式的结果写入XLSX文件时。 而是将值0存储为公式结果。 然后,它在XLSX文件中设置一个全局标志,说打开该文件时应重新计算所有公式和函数。
这是Excel文档中建议的方法,并且通常可以与电子表格应用程序很好地配合使用。 但是,不具备计算公式功能的应用程序(例如Excel Viewer)或多个移动应用程序将仅显示0结果。
有关更多详细信息和解决方法,请参见“ 公式结果 ”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.