Webサイト発注虎の巻ダウンロード
Webサイト発注虎の巻ダウンロード

【Query関数】作業効率が上がる!意外と知らない4つの応用パターン

tetsu

LIGのtetsuこと手塚です。情報システム室の室長をしています。

前回のQUERY関数の学びから、さらに自分が利用頻度の多いパターンを応用編として紹介します。

▼前回の記事はこちら

データ参照先を別のスプレッドシートにする場合

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関数ももっと簡単に記述できるケースもあるので、見直してみると良いかもしれません。

 

▼他の関数も知りたい方はぜひこちらもご覧ください!