首页 > 解决方案 > XLSXWriter 和 Excel “=SORT()” 函数?

问题描述

我在这篇 SO 帖子中了解到如何使用 XLSXWriter 向=FILTER()工作簿添加函数。

现在我正在尝试添加一个=SORT()功能。到目前为止,我已经尝试过:

worksheet.write_array_formula('H2', '=_xlfn._xlws.SORT(A2:F16, 6, -1)')

...但SORT似乎不是数组公式。我也试过这个:

worksheet.write_formula('H2', '=_xlfn.SORT(A2:F16, 6, -1)')

worksheet.write_formula('H2', '=_xlfn._xlws.SORT(A2:F16, 6, -1)')

该公式出现在工作表中,但不是:

=SORT(A2:F16, 6, -1)

...它显示为:

=@SORT(A2:F16, 6, -1)

我该如何纠正?

标签: excelexcel-formulaxlsxwriter

解决方案


这类似于您链接到的其他答案,您的第一次尝试几乎是正确的。我认为您只需要指定范围公式适用的范围,如下所示:

import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

worksheet.write_array_formula('H2:M16', 
                              '=_xlfn._xlws.SORT(A2:F16, 6, -1)')

workbook.close()

输出

在此处输入图像描述


推荐阅读