簡潔な答え
- 一重引用符/アポストロフィをエスケープするには、二重引用符 (
"
) の間にアポストロフィを含む文字列を含めます。
- 二重引用符をエスケープするには、二重置換を適用して、最初に二重引用符を削除してから、再度追加します。
説明
Google スプレッドシートの QUERY 組み込み関数\
は、一重引用符の前に内部的に追加することで一部の文字を自動的にエスケープしますが、条件のソースとして使用されるセル値に二重引用符が含まれている場合は機能しません。回避策として、二重置換の使用が提案されています。
一重引用符/アポストロフィの例
以下の表は、含まれるスプレッドシートの範囲を表します
- 列 A: データ ソース
- セル B1: 条件式で使用されるデータ値
- セル C1: 次の数式
=QUERY(A:A,"SELECT * WHERE A = """&B1&""" ")
+---+---------+-----+-----+
| | | | あ | ビ | シー |
+---+---------+-----+-----+
| | 1 | 私は | 私は | 私は |
| | 2 | あなたは | | | | |
| | 3 | それは | | | | |
| | 4 | 私は | | | | |
| | 5 | あなたは | | | | |
| | 6 | それは | | | | |
+---+---------+-----+-----+
一重引用符/アポストロフィおよび二重引用符の例
=置換(
クエリ(
SUBSTITUTE(A:A,"""","''"),
"SELECT * WHERE Col1 = """&SUBSTITUTE(B1,"""","''")&""""
)、
"""、""""
)
データ ソース列の識別子として文字 A を使用する代わりに、Col1 を使用していることに注意してください。
参照
https://developers.google.com/chart/interactive/docs/querylanguage