
実現したいこと
- スプレットシートでwhere関数を用いて別シートの値に対して、ある文字列を含むかどうかを調べることをしたい
前提
Google スプレットシートのWHERE関数で別シートを指定した上で値を持ってきたいのですが、うまく動きません。
具体的には別シートの日付から対応する年月の値を持ってきたいです。
下記、FormDataのB列が対象の年月の場合の値を入力シートにWhere関数でもってきたいという内容です。
下記サイトを参考にしてみたのですが、セルの値を文字列に含むといった方法がわからず、お教えいただけると幸いです。
https://qiita.com/ShishidoToru/items/e89fecd16c3d4e080925
質問文も至らぬところがあると思います。ご指摘ください。ボールドテキスト
発生している問題・エラーメッセージ
エラーメッセージ 1.クエリが空の出力で完了しました。 2.関数 QUERY のパラメータ 2 のクエリ文字列を解析できません: Can't perform the function year on a column that is not a Date or a DateTime column
該当のソースコード
参照先'Form Data'sheet
A | B | |
---|---|---|
2 | 2023/04/25 14:51:22 | 2023/04/24 |
B2セル:=TEXT(A2,"yyyy/mm/dd")
入力シート
B | C | D | |
---|---|---|---|
2 | 2023 | 年 | 2023/4/1 |
3 | 4 | 月 |
D2セル:=CONCATENATE(B2,"/",B3,"/","1")
1.=QUERY('Form Data'!B2:E30000,"WHERE B = '*2023/04/*'") 2.=QUERY('Form Data'!B1:E30101,"WHERE YEAR(B)='"&TEXT(D2,"YYYY") &"'")
試したこと
=QUERY('Form Data'!B2:E30000,"WHERE B = '2023/04/25")
具体的な日付を文字列として条件文を書くと値が出ました
追加で聞きたいこと
上記設定のB列に関しては、ご回答いただいたもので動作確認しました。
=QUERY('Form Data'!B2:E30000,"WHERE B = '*2023/04/*'") ↓ =QUERY('Form Data'!B2:E30000,"WHERE B like '%2023/04%'") ↓ =QUERY('Form Data'!B2:E30000, "WHERE B like '%" & YEAR('Form Data'!D2) & "/" & TEXT(MONTH('Form Data'!D2),"00") & "%'")
そこで参照先をBからAに変更したいのですが、どのようなコードになりますでしょうか。
参照先'Form Data'sheet
A | B | |
---|---|---|
2 | 2023/04/25 14:51:22 | 2023/04/24 |
B2セル:=TEXT(A2,"yyyy/mm/dd")