Excelの数式で次の文字列を構成する方法を教えてください。
モーリス「ロケット」リチャード
私が一重引用符を使用している場合、それは簡単= "Maurice 'The Rocket' Richard"
ですが、二重引用符はどうですか?
二重引用符でエスケープしてみましたか?
= "Maurice ""The Rocket"" Richard"
あるいは、CHAR
関数を使用することができます。
= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
3つの二重引用符:" " " x " " "
= "x"
Excelは自動的に1つの二重引用符に変更します。例えば。:
=CONCATENATE("""x"""," hi")
= "x"こんにちは
私はこのための機能を使用します(ワークブックにすでにVBAがある場合)。
Function Quote(inputText As String) As String
Quote = Chr(34) & inputText & Chr(34)
End Function
これはSue Mosherの本 "Microsoft Outlook Programming"からのものです。それからあなたの式は次のようになります。
="Maurice "&Quote("Rocket")&" Richard"
これは、 Dave DuPlantis が投稿したものと似ています。
あなたがJSONでこれをする必要がある場合には:
=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")
Chr(34)コードを使用します。Joe = "こんにちは"、&Chr(34)& "Joe"&Chr(34)ActiveCell.Value = Joe
結果:こんにちは、 "joe"
セルを空白に見せるために空または長さゼロの文字列(""
など)を返すことはワークシートの数式では一般的な方法ですが、 Range.Formula または VBAの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(,)
で置き換えると、数式文字列に正しい数の引用符文字が含まれているかどうかを判断するために、そろばんを使うのをやめることができます。
"
を別のセルとして連結します。
A | B | C | D
1 " | text | " | =CONCATENATE(A1; B1; C1);
D1 displays "text"
これは.Formula = "=THEFORMULAFUNCTION("STUFF")"
を使用するマクロに対して機能するので、次のようになります。これは.Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"
を使用するマクロに対して機能します。
="Maurice "&"""TheRocker"""&" Richard"
VBA機能
1).Formula = "=" "式関数" "&(CHAR(34)&" "STUFF" "&CHAR(34))"
2).Formula = "THEFORMULAFUNCTION" "STUFF" ""
最初の方法では、vbaを使用してセルに数式を書き込み、その結果、計算値が得られます。
THEFORMULAFUNCTION "STUFF"
2番目の方法では、vbaを使用してセルに文字列を書き込みます。その結果、値が次のようになります。
THEFORMULAFUNCTION "STUFF"
エクセル結果/計算式
1)= "定理関数"&(CHAR(34)& "STUFF"&CHAR(34))
2)定理関数 "STUFF"