XLSXWriter:带有 =CONCAT() 的公式在 Excel 中显示为"=@CONCAT()"?



当我在XLSXWriter中执行以下操作时:

formula = "=CONCAT(A1, B1)"
worksheet.write_formula(1, 1, formula)

我在我的工作簿中找到以下内容:

=@CONCAT(A1, B1)

并且小区显示出CCD_ 1错误。

我该如何更正?

问题是CONCAT()函数是一个所谓的Future函数,它是在更新版本的Excel中添加的(请参阅Excel 2010中添加的公式以及XlsxWriter文档的稍后部分(。

你需要这样写公式:

formula = "=_xlfn.CONCAT(A1, B1)"

然而,正如@teylyn所指出的,在Excel中还有许多其他更简单、向后兼容的字符串连接方法。你应该使用其中一个。

Concat((仅在带有Office 2019或Office 365的Windows或Mac上可用。

任何其他版本的Excel都无法识别该函数,因此产生了#Name!错误

Concat((替换了Concatenate((函数。这两个函数都不需要连接文本。&运算符通常完成工作的速度要快得多,即打字次数更少。为了更复杂,可以使用TextJoin(((仅限Office 365/2019(。

下列公式产生相同的结果。

=Concatenate(A1," - ",B1," - ",C1)
=Concat(A1," - ",B1," - ",C1)
=A1&" - "&B1&" - "&C1
=TEXTJOIN(" - ",TRUE,A1:C1)

最新更新