質問するログイン新規登録
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Q&A

1回答

345閲覧

Googleスプレットシート WHERE関数を用いて別シートの値を参照し、セルの文字列を含むという条件文を書きたい

popopo123456

総合スコア7

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

0グッド

0クリップ

投稿2023/04/25 14:13

編集2023/05/02 12:41

0

0

実現したいこと

  • スプレットシートで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

AB
22023/04/25 14:51:222023/04/24

B2セル:=TEXT(A2,"yyyy/mm/dd")

入力シート

BCD
220232023/4/1
34

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

AB
22023/04/25 14:51:222023/04/24

B2セル:=TEXT(A2,"yyyy/mm/dd")

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2023/04/25 21:24

likeを使う =QUERY('Form Data'!B2:E30000,"WHERE B = '*2023/04/*'") ↓ =QUERY('Form Data'!B2:E30000,"WHERE B like '%2023/04%'")
popopo123456

2023/04/26 00:53

ありがとうございます!動作確認いたしました。 現在、'%2023/04%' をD2セルの値に変更できないでしょうか。 わからないながら like '%&D2&%' や '&%D2%&' などしてみたのですが空白のクエリを返しまして、可能でしたらご教示いただけると幸いです。
guest

回答1

0

=QUERY('Form Data'!B2:E30000, "WHERE B like '%" & YEAR('Form Data'!D2) & "/" & TEXT(MONTH('Form Data'!D2),"00") & "%'")

としてみては?

投稿2023/04/27 10:42

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

popopo123456

2023/05/02 12:37

ありがとうございます。動作を確認しました!! 追加で教えていただきたいのですが A列  B列 2023/04/24 19:55:34 2023/04/24 となっており、 B列には =IF(A2="","",TEXT(A2,"yyyy/mm/dd")) という式が入っております。 WHERE の参照先をB列からA列に変えた際、どのようなコードになりますでしょうか? WHERE A だと動作せず...。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問