Excel 在我的公式末尾添加引号

Gab*_*iel 2 escape-characters concatenation special-characters microsoft-excel microsoft-excel-2016

Excel 会自动更正我的公式,并说“我们在您的公式中发现了一个错字,并试图将其更正为:”

=CONCAT(CHAR(34),A4,""":""",D4,"""")
Run Code Online (Sandbox Code Playgroud)

我原来的公式最后只有三个引号:

=CONCAT(CHAR(34),A4,""":""",D4,""")
Run Code Online (Sandbox Code Playgroud)

对于您的信息,我将 Excel 中两列的数据合并,结果如下所示:

"welcome":"Bienvenue!"
Run Code Online (Sandbox Code Playgroud)

A4 单元格包含:welcome
D4 单元格包含:Bienvenue!

CHAR(34) 表示单元格 A4 的初始引号。

ExcelCONCAT()函数组合来自不同 Ms Excel 单元格的数据。

注意:这个问题和超级用户问题不一样Excel 给我的公式结果加引号

fix*_*234 15

引号在 Excel 中具有特殊含义,因此您必须跳过一些圈子才能将它们用作常规字符。您可以通过将它们加倍来做到这一点,但这可能会变得复杂,具体取决于具体情况。

为避免术语混淆,让我们忽略撇号(有时称为“单引号”)。此处对“引号”或“引号”的任何引用均指带有两个刻度线的符号。

如果您了解正在发生的事情,则规则是可以理解的。

  • 引号总是需要成对出现(但不一定相邻)。
  • 双引号变成单个文本字符(引号)。
  • 文本需要用引号引起来。
  • 如果双引号位于字符串的中间,则它只是另一个字符。
  • 如果它位于字符串的开头或结尾,则它所属的字符串必须用引号括起来(因此您将在开头或结尾处用三引号结束)。
  • 如果它被连接为唯一的字符(在表达式的开头、中间或结尾),则需要用引号将其括起来(因此您最终会得到四重引号)。

以下是使用您的公式的一些示例:

在此处输入图片说明

  • 您可以看到在冒号周围使用三引号是正确的。可以将其视为被双引号包围的冒号,以及用于分隔该文本的所有引号。
  • 您再次正确使用 CHAR(34) 开始字符串。您可以对最后一个字符执行相同操作。
  • 由于第一个和最后一个字符是连接在一起的,您也可以将它们四倍(如D4&"""")。这就是 Excel 试图为您解决的问题。
  • 如果表达式以硬编码文本而不是单元格引用开始或结束,则可以使用三重引号(如"""Welcome"

所以这可以使用多个引号来完成,尽管如果你搞砸了,如果你需要诊断公式问题,你可能会目瞪口呆。这样做的简单、安全的方法是使用 CHAR(34),尤其是在需要四重引号时,正如 Hannu 的回答所暗示的那样(尽管我自己的偏好是在冒号周围保留三重引号,以避免将一个文本表达式分成三个件;但这就是为什么有香草冰淇淋和巧克力冰淇淋的原因)。