かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Googleスプレッドシート Query関数 変数でキーワード検索(LIKE)したい

前回 他のスプレッドシートからデータを取ってきて表示するセルの指定と、WHEREでの表示させるデータの条件を付ける方法を書きました。この時は検索条件が=とか>とかでしたが、例えば住所を入れてあるセルから新宿区というキーワードがるものだけ取ってきたいとかって場合もあります。こんな時はsqlと同じようにLIKEで検索条件を指定することができるようです。

Query Language Reference (Version 0.7)  |  Charts  |  Google Developers

Where like - A text search that supports two wildcards: %, which matches zero or more characters of any kind, and _ (underscore), which matches any one character. This is similar to the SQL LIKE operator. Example: where name like fre% matches 'fre', 'fred', and 'freddy'.

where name like fre% という様な書き方でキーワード検索ができるようです。
キーワードの最後に%を追加する形でキーワード部分をセルの値から取得するようにすればOKなので、次のようになります

where name like '"& A1 &"%'

試したのが日本語だったからかもしれませんが、likeの条件全体を'(シングルコーテーション)で囲まないと%を追加した文字列として認識されませんでした。

他のスプレッドシートからデータを取ってきて〜とする場合は次のような感じにすればOKです。
ex: 取ってきたシートのA, C, D のセルを表示させ Dのセルの値を今のシートのA1の値でlike検索する

= query(importrange("spreadsheet_key", "シート1!A1:Z"), "select Col1, Col3, Col4  where Col4 like '"& A1 &"%'")

ね。カンタンでしょ? (スプレッドシート すごい!!)


[参考]

なもり百合姫表紙画集 truth

なもり百合姫表紙画集 truth