如何在 Excel 公式中构造以下字符串:
莫里斯“火箭”理查德
如果我使用单引号,这很简单 ="Maurice 'The Rocket' Richard"
但是双引号呢?
如何在 Excel 公式中构造以下字符串:
莫里斯“火箭”理查德
如果我使用单引号,这很简单 ="Maurice 'The Rocket' Richard"
但是双引号呢?
您是否尝试过使用额外的双引号进行转义?通过转义字符,您是在告诉 Excel 将 " 字符视为文字文本。
= "Maurice ""The Rocket"" Richard"
或者,您可以使用以下CHAR
功能:
= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
三个双引号:" " " x " " "
= "x"
Excel 将自动更改为一个双引号。例如:
=CONCATENATE("""x"""," hi")
=“x”嗨
我为此使用了一个函数(如果工作簿已经有 VBA)。
Function Quote(inputText As String) As String
Quote = Chr(34) & inputText & Chr(34)
End Function
这是来自 Sue Mosher 的书“Microsoft Outlook 编程”。那么你的公式将是:
="Maurice "&Quote("Rocket")&" Richard"
这类似于Dave DuPlantis发布的内容。
如果您需要使用 JSON 执行此操作:
=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")
使用 chr(34) 代码:
Joe = "Hi there, " & Chr(34) & "Joe" & Chr(34)
ActiveCell.Value = Joe
结果:
Hi there, "joe"
连接"
为一个单独的单元格:
A | B | C | D
1 " | text | " | =CONCATENATE(A1; B1; C1);
D1 displays "text"
这是否适用于使用的宏,.Formula = "=THEFORMULAFUNCTION("STUFF")"
所以它会像:这适用于使用的宏吗.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"
返回一个空字符串或长度为零的字符串(例如)以使单元格显示为空白是工作表公式中的常见做法,但在通过 VBA 中的Range.Formula或Range.FormulaR1C1属性""
插入公式时重新创建该选项很笨拙,因为必须将带引号的字符串中的双引号字符加倍。
工作表的本机TEXT 函数可以在不使用引号的情况下产生相同的结果。
'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(,)
代替""
清洁即使是上面那个简单的公式。当用于更复杂的公式时,好处变得越来越显着,例如将空字符串附加到VLOOKUP以避免在查找结果为空白时将零返回到单元格或在不匹配时返回空字符串IFERROR。
'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(,)
替换传递空字符串的旧""
方法,您可能会停止使用算盘来确定公式字符串中的引号字符数量是否正确。
="Maurice "&"""TheRocker"""&" Richard"
VBA 函数
1) .Formula = "=""THEFORMULAFUNCTION ""&(CHAR(34) & ""STUFF"" & CHAR(34))"
2) .Formula = "THEFORMULAFUNCTION ""STUFF"""
第一种方法使用 vba 在单元格中编写公式,从而得出计算值:
THEFORMULAFUNCTION "STUFF"
第二种方法使用 vba 在单元格中写入一个字符串,从而产生值:
THEFORMULAFUNCTION "STUFF"
Excel 结果/公式
1) ="THEFORMULAFUNCTION "&(CHAR(34) & "STUFF" & CHAR(34))
2) 公式函数“东西”