XLSXWriter:=CONCAT() 的公式在 Excel 中显示为“=@CONCAT()”?
XLSXWriter: Formula with =CONCAT() Shows in Excel as "=@CONCAT()"?
当我在 XLSXWriter 中执行以下操作时:
formula = "=CONCAT(A1, B1)"
worksheet.write_formula(1, 1, formula)
...我在工作簿中找到以下内容:
=@CONCAT(A1, B1)
...单元格显示 #NAME
错误。
我该如何纠正?
Concat() 仅适用于 Windows 或 Mac Office 2019 或 Office 365。
Excel 的任何其他版本都无法识别该函数,因此 #Name!错误。
Concat() 替换了 Concatenate() 函数。这些函数都不需要连接文本。 &
运算符通常可以更快地完成工作,即输入更少。为了更复杂,可以使用 TextJoin()(仅限 Office 365 / 2019)。
以下公式产生相同的结果。
=Concatenate(A1," - ",B1," - ",C1)
=Concat(A1," - ",B1," - ",C1)
=A1&" - "&B1&" - "&C1
=TEXTJOIN(" - ",TRUE,A1:C1)
问题是 CONCAT()
函数是 so-called 未来函数,已添加到 Excel 的较新版本中(请参阅 XlsxWriter 的 Formulas added in Excel 2010 and later 部分文档)。
你需要这样写公式:
formula = "=_xlfn.CONCAT(A1, B1)"
然而,正如@teylyn 指出的那样,在 Excel 中还有许多其他更简单且向后兼容的字符串连接方式。您应该改用其中之一。
当我在 XLSXWriter 中执行以下操作时:
formula = "=CONCAT(A1, B1)"
worksheet.write_formula(1, 1, formula)
...我在工作簿中找到以下内容:
=@CONCAT(A1, B1)
...单元格显示 #NAME
错误。
我该如何纠正?
Concat() 仅适用于 Windows 或 Mac Office 2019 或 Office 365。
Excel 的任何其他版本都无法识别该函数,因此 #Name!错误。
Concat() 替换了 Concatenate() 函数。这些函数都不需要连接文本。 &
运算符通常可以更快地完成工作,即输入更少。为了更复杂,可以使用 TextJoin()(仅限 Office 365 / 2019)。
以下公式产生相同的结果。
=Concatenate(A1," - ",B1," - ",C1)
=Concat(A1," - ",B1," - ",C1)
=A1&" - "&B1&" - "&C1
=TEXTJOIN(" - ",TRUE,A1:C1)
问题是 CONCAT()
函数是 so-called 未来函数,已添加到 Excel 的较新版本中(请参阅 XlsxWriter 的 Formulas added in Excel 2010 and later 部分文档)。
你需要这样写公式:
formula = "=_xlfn.CONCAT(A1, B1)"
然而,正如@teylyn 指出的那样,在 Excel 中还有许多其他更简单且向后兼容的字符串连接方式。您应该改用其中之一。