スプレッドシートのIMPORTRANGE
関数とQUERY
関数の組み合わせ便利ですね。
データがまとまったシートを作成しておいて、必要な情報をだけを表示させるのに使っています。
今回 日付を条件にしてデータを取得しようとしてハマったのでメモします。
例えばA列に日付がはいっているシートを取得し日付が2010年1月15日以降のデータを取得したいとします。A列はCol1です
下記のような書き方をしても#VALUE!
になってしまい取得できません。
SELECT * WHERE Col1 > '2010-01-15'
日付の入ったセルをWHERE文で使うには date 'YYYY-MM-DD'
の形式にする
Query Language Reference (Version 0.7) | Charts | Google Developers
Examples:
where salary >= 600 where dept != 'Eng' and date '2005-01-21' < hireDate where (dept<>'Eng' and isSenior=true) or (dept='Sales') or seniorityStartTime is null
A列が2010年1月15日以降のデータを取得したい場合は下記のようにします。
SELECT * WHERE Col1 > date '2010-01-15'
条件の日付を変数にしたい場合
"& A1 &"
のフォーマットでセルの値をqueryに埋め込めるので、これを参考に
SELECT * WHERE Col1 > date '"& A1 &"'
としても#VALUE!
になってしまい取得できませんでしたξ(Ծ‸Ծ)ξ
セルに入力された日付を使う場合は明示的にYYYY-MM-DD
の形にフォーマットしたテキストにしてあげる必要がありました。
TEXT()
を使うことでフォーマットしたテキストにすることができます。
TEXT(数値, 表示形式)
- 数値 - 変換する番号、日付、時刻です。
- 表示形式 - 変換する数値の表示形式を、二重引用符で囲って指定します。
クエリを下記のように修正します。
条件の日付をセルに入力された日時にする方法
SELECT * WHERE Col1 > date '"& TEXT(A1, "YYYY-MM-DD") &"'
これでは意図したとおりに取得することができました ζ*'ヮ')ζ
年だけ・月だけ・日にちだけを条件にしたい
年月日ではなく、年だけ、月だけ、日にちだけを条件にする場合は日付の入っているセルをYEAR()
、MONTH()
、DAY()
で変換してあげれば簡単です。
年で検索
SELECT * WHERE YEAR(Col1) = 2010'
検索条件を変数にする
SELECT * WHERE YEAR(Col1) = "& A1 &"'
検索条件がYYYY-MM-DD
の形式になっている
SELECT * WHERE YEAR(Col1) = "& TEXT(A1, "YYYY") &"'
月で検索
WHERE文中のMONTH()
は1月が0になるので注意が必要です。
month()
Note: the months are 0-based, so the function returns 0 for January, 1 for February, etc.Query Language Reference (Version 0.7) | Charts | Google Developers
SELECT * WHERE MONTH(Col1) + 1 = 12'
検索条件を変数にする
SELECT * WHERE MONTH(Col1) + 1 = "& A1 &"'
検索条件がYYYY-MM-DD
の形式になっている
SELECT * WHERE MONTH(Col1) + 1 = "& TEXT(A1, "MM") &"'
TEXT(A1, "M")
でもOK
日で検索
SELECT * WHERE DAY(Col1) = 18'
検索条件を変数にする
SELECT * WHERE DAY(Col1) = "& A1 &"'
検索条件がYYYY-MM-DD
の形式になっている
SELECT * WHERE DAY(Col1) = "& TEXT(A1, "DD") &"'
TEXT(A1, "D")
でもOK
サンプル: ソビエト連邦の指導者リスト - Google スプレッドシート
[参考]
- QUERY - ドキュメント エディタ ヘルプ
- Query Language Reference (Version 0.7) | Charts | Google Developers
- TEXT - Docs Editors Help
- Googleスプレッドシート 他のシートから特定のセルを条件付きで取ってきて表示させたい - かもメモ
- Googleスプレッドシート Query関数 変数でキーワード検索(LIKE)したい - かもメモ
スマホアプリ「アイカツ!フォトonステージ!!」シングルシリーズ01「カメレオントーク★」
- アーティスト: わか・ふうり from STAR☆ANIS,やまだ麻実,只野菜摘,pw.a,帆足圭吾,南田健吾
- 出版社/メーカー: ランティス
- 発売日: 2016/01/27
- メディア: CD
- この商品を含むブログ (1件) を見る