GASのsetFormula()でQUERY関数を入れたいが、コーテーションの付け方がわからない

実現したいこと

GASを使って、 graphSheetのA4セルにQUERY関数を入れたい。

このQUERY関数では、以下の条件すべてにあてはまる情報だけを抽出したいです。

  • summarySheetNameのA列が、graphSheetのA2セルと同じデータ
  • summarySheetNameのB列が、graphSheetのB2セルと同じデータ
  • summarySheetNameのC列が、graphSheetのC2セルの日付より後の日付
  • summarySheetNameのC列が、graphSheetのD2セルの日付より前の日付

発生している問題・分からないこと

GASを実行すると、A4セルにQUERY関数が入力されるのですが、セルに「#ERROR」と表示されます。

ちなみに、ChatGPTを使ってコードを書きました。

カーソルをA4セルに合わせると、以下のエラーメッセージが表示されます。

エラーメッセージ

error

1数式の解析エラーです。

該当のソースコード

GAS

1let formula = "=QUERY('" + summarySheetName + "'!A:E, " + 2 "\"select * where A = '\"\"&A2&\"'\" and B = '\"\"&B2&\"'\" and " + 3 "C >= date '\"\"&TEXT(C2, 'yyyy-MM-dd')&\"'\" and " + 4 "C <= date '\"\"&TEXT(D2, 'yyyy-MM-dd')&\"'\"\", 1)"; 5graphSheet.getRange("A4").setFormula(formula);

試したこと・調べたこと

上記の詳細・結果

Googleで「gas setFormula query」と検索しました。
おそらく、以下の3つのコーテーションの使い分けができてないんだということはわかりました。

  • シングルコーテーション
  • ダブルコーテーション
  • バッククォート

また、ChatGPTにエラーを伝えて、コードの改善をお願いしました。しかし、回答されたコードを実行しても、同様のエラーが出続けます。

補足

特になし

コメントを投稿

0 コメント