XLSXWriter 和 Excel “=SORT()” 函数?

XLSXWriter and Excel “=SORT()” Function?

我在 中学习了如何使用 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)

我该如何纠正?

这与您链接到的其他答案相似,您的第一次尝试几乎是正确的。我认为您只需要像这样指定范围公式适用的范围:

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()

输出: