Excel 数式で次の文字列を作成するにはどうすればよいですか。
モーリス・"ザ・ロケット"・リチャード
一重引用符を使用している場合、それは些細なことです"Maurice 'The Rocket' Richard"
が、二重引用符はどうですか?
Excel 数式で次の文字列を作成するにはどうすればよいですか。
モーリス・"ザ・ロケット"・リチャード
一重引用符を使用している場合、それは些細なことです"Maurice 'The Rocket' Richard"
が、二重引用符はどうですか?
追加の二重引用符でエスケープしようとしましたか? 文字をエスケープすることで、" 文字をリテラル テキストとして扱うように Excel に指示します。
= "Maurice ""The Rocket"" Richard"
CHAR
または、次の関数を使用できます。
= "Maurice " & CHAR(34) & "Rocket" & CHAR(34) & " Richard"
3 つの二重引用符: " " " x " " "
= "x"
Excel は自動的に 1 つの二重引用符に変更されます。例えば:
=CONCATENATE("""x"""," hi")
= "x" こんにちは
JSON でこれを行う必要がある場合:
=CONCATENATE("'{""service"": { ""field"": "&A2&"}}'")
これには関数を使用します (ワークブックに既に 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が投稿したものと似ています。
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(,)
置き換えること""
で、数式文字列に適切な数の引用文字があるかどうかを判断するためにそろばんを使用するのをやめるかもしれません。
VBA 関数
1) .Formula = "=""THEFORMULAFUNCTION ""&(CHAR(34) & ""STUFF"" & CHAR(34))"
2) .Formula = "THEFORMULAFUNCTION ""STUFF"""
最初の方法は、vba を使用してセルに数式を書き込み、計算値を返します。
THEFORMULAFUNCTION "STUFF"
2 番目の方法では、vba を使用してセルに文字列を書き込み、結果として値が得られます。
THEFORMULAFUNCTION "STUFF"
Excelの結果/式
1) ="THEFORMULAFUNCTION "&(CHAR(34) & "STUFF" & CHAR(34))
2) THEFORMULAUNCTION "STUFF"