LIGのtetsuこと手塚です。情報システム室の室長をしています。
前回のQUERY関数の学びから、さらに自分が利用頻度の多いパターンを応用編として紹介します。
▼前回の記事はこちら QUERY関数の基本と簡単な応用例!意外と気づかない2つの注意点も紹介【Googleスプレッドシート】
データ参照先を別のスプレッドシートにする場合
QUERY関数の第1引数で参照するデータ範囲をA2:C4のように指定しますが、様々な情報をスプレッドシートで作ると、参照したい情報が別のスプレッドシートにある場合があります。
こういった場合、IMPORTRANGE関数を組合わせることで別のスプレッドシートを参照することが可能です。
関数の記入例は=QUERY(IMPORTRANGE(“①”, “②”),”select Col1”)となります。
- ①では「https://docs.google.com/spreadsheets/d/*********」のようにスプレッドシートのURLを記入。
- ②ではシート名(ここでは「シート1」とします)とデータ範囲を指定する「シート1:A2:C4」といった形式で記入。
注意点として、別のスプレッドシートを参照した場合、QUERY関数で指定する列の名称は、データ参照範囲の「A」や「B」ではなく、「Col1」や「Col2」のように「Col」+「何番目の列」のように指定する必要があることです。
日付検索をする場合
QUERY関数では検索条件で日付を扱った検索を行うことができます。
日付の検索条件なので、=QUERY(A2:C4,”select A where B >= ‘2021-01-1’”)となると思う方もいるかもしれませんが、これではエラーが出るでしょう。
※データ範囲の中で、「B」列が「2021-01-1」以降のデータ「A」を取得する内容です。
日付検索の記述例は=QUERY(A2:C4,”select A where B >= date ‘2021-01-1’”)と日付条件を文字列の前に「date」と記入し、日付データであることを指定しなければいけません。
また、参照先のデータ(ここでは「B」列)の形式も「YYYY-MM-DD」の形式でないといけないため、日付検索を行う場合はセルのデータ形式に注意してください。
日付の形式は「date」以外にも「timeofday」や「datetime」があり、それぞれ以下のような形式で検索条件を指定することができます。
timeofday:HH:mm:ss[.SSS]
datetime:YYYY-MM-dd HH:mm:ss[.sss]
QUERY関数の出力結果のラベルを指定したい場合
QUERY関数で参照したデータ範囲から、自動的にラベルが適用されますが、ラベル名を任意の内容に指定することもできます。
上図の青のラベルは、通常のQUERY関数を使った=QUERY(A1:C4,”select A,C where C >= 20 AND A >1″)となります。
※「E1セル」にこの関数を記載しています
しかし、緑のラベルで=QUERY(A1:C4,”select A,C where C >= 20 AND A >1 label A ‘Name’,C ‘Old'”)と「label」の指定を記述することで、上図のように指定することが可能です。
※「H1セル」にこの関数を記載しています
QUERY関数であらかじめ計算結果を出力したい場合
QUERY関数で参照したデータ範囲から、計算されたデータを出力する場合、四則演算を使った方法で計算することができます。
上図のように「訪問数」と「成約数」などのデータ範囲「A1:D4」があるとします。E列の「成約率」でQUERY関数を使う場合、「E1」セルに次のように記入します。=QUERY(A2:D4,”select D/C label D/C ‘成約率'”)
このようにすることで、上図のように「D / C」の計算結果だけを出力することができます。
※通常は別のスプレッドシートや別のシートを参照した場合に使われることが多いと思います。
おわりに
いかがだったでしょうか。
QUERY関数は進化を続けていて、最初は簡単なデータ取得だけだったものが、検索条件の指定方法も豊富になり、さらに実用的な機能になってきています。ここ最近ではQUERY関数を利用することが多くなり、過去に記述したQUERY関数ももっと簡単に記述できるケースもあるので、見直してみると良いかもしれません。
▼他の関数も知りたい方はぜひこちらもご覧ください! フィルタ不要で並び替えができる夢のようなSORT関数【Googleスプレッドシート/Excel】 エクセル(Excel)で日付や時刻を表示するときに便利な関数 -その2- 【エクセルTips】数値を丸めたいときの関数まとめ(四捨五入/切り捨て/切り上げ/整数部分を取り出す関数)