如何在Excel公式中创建包含双引号的字符串?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (10)
  • 关注 (0)
  • 查看 (108)

如何在Excel公式中构造以下字符串:

Maurice "The Rocket" Richard

如果我使用单引号,它是可以的="Maurice 'The Rocket' Richard"但是双引号呢?

提问于
用户回答回答于

你试过用双引号转义吗?

= "Maurice ""The Rocket"" Richard"
用户回答回答于
用户回答回答于

VBA 函数

1)。公式=“=”“THEFORMULAFFITION”&(CHAR(34)&“Matters”&Char(34))“

2)。公式=“THEFORMULAFION”

第一种方法使用VBA在单元格中写入公式,从而得到计算值:

 THEFORMULAFUNCTION "STUFF"

第二种方法使用VBA在单元格中写入字符串,从而得到以下值:

 THEFORMULAFUNCTION "STUFF"

EXCEL公式

1)=“THEFORMULAFFION”&(CHAR(34)&“Matters”&Char(34))

2) THEFORMULAFUNCTION "STUFF"

用户回答回答于

返回空的或零长度的字符串(例如:使一个单元格出现空白是工作表公式中常见的练习,但在将公式插入到该范围时重新创建该选项。公式或范围。由于必须在引用的字符串中对双引号字符进行双引号,所以在VBA中使用的公式是难以处理的。

在不使用引号的情况下产生相同的结果。

'formula to insert into C1 - =IF(A1<>"", B1, "")
range("C1").formula = "=IF(A1<>"""", B1, """")"         '<~quote chars doubled up
range("C1").formula = "=IF(A1<>TEXT(,), B1, TEXT(,))"   '<~with TEXT(,) instead

可以用TEXT(,)代替""甚至清理一个简单的公式,如上面的公式。可以在更复杂的公式中使用。

'formula to insert into D1 - =IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"", "")
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"""", """")"
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&TEXT(,), TEXT(,))"

带着TEXT(,)换旧""方法,你可以来确定公式字符串中是否有正确的引号字符。

用户回答回答于

你可以试试.Formula = "=THEFORMULAFUNCTION("STUFF")"

这也适用于宏.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"

用户回答回答于

使用chr(34) 代码: Joe = "Hi there, " & Chr(34) & "Joe" & Chr(34) ActiveCell.Value = Joe

结果:Hi there, "joe"

用户回答回答于

你可以使用JSON完成此操作:

=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")
用户回答回答于

我为此使用了一个函数(如果工作簿支持VBA)。

Function Quote(inputText As String) As String
  Quote = Chr(34) & inputText & Chr(34)
End Function

那么你的公式是:

="Maurice "&Quote("Rocket")&" Richard"

用户回答回答于

三个双引号:" " " x " " "="x"EXCEL将自动更改为一个双引号。例如:

=CONCATENATE("""x"""," hi")  

= "x" hi

用户回答回答于

或者,你可以使用CHAR函数

= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"

扫码关注云+社区