LIGのtetsuこと手塚です。情報システム室の室長をしています。
LIGでは主にGoogleのサービスを利用していることが多く、社内共有の利便性からGoogleの「スプレッドシート」を使う機会が多くあります。特に業務の中では、表計算やデータの集計などで多く使い、あらゆる関数を駆使して必要なシートを作成していきます。
今回はその関数の中でQUERY関数について、少し紹介していきます。QUERY関数はVLOOKUP関数より複雑な条件で出力したり、出力結果の並びを自由に変更できる関数です。
QUERY関数とは
QUERY関数の説明でGoogleでは
Google Visualization API のクエリ言語を使用して、データ全体に対するクエリを実行します。
参照元:Google
とあります。
これはGoogleが提供するスプレッドシート内のデータに対する処理を、指定の書式で構成した命令文を実行することを意味します。
実際に使ってみるとわかりやすいと思うので、ここからはQUERY関数の利用方法について解説していきます。
QUERY関数の利用方法
QUERY関数は以下の形が基本になります。
=QUERY(「1」,”select 「2」”)
それぞれの番号では以下の内容を入力します。
- 参照するデータのセルを範囲指定します。
例)A1:C3 またはIMPORTRANGE関数を使った外部シートも利用可 - 参照するセル名をカンマ区切りで指定します。参照するセルが1つの場合はカンマは不要です。
例)A,B
まずはQUERY関数の基本の形を紹介します。
上記の表を使ってQUERY関数について解説してきます。
まずは簡単な例を紹介します。任意のセルで以下のように記入します(※ここでは「E2」セルに記述しています)。
=QUERY(A2:C4,”select A”)
これを実行すると「E2」から「E4」にかけて上記のように表示されます。
さらに次のように記入すると結果が変わります。
=QUERY(A2:C4,”select A,C”)
基本的な利用方法は以上です。
このように、QUERY関数はVLOOKUP関数より複雑な条件で出力したり、出力結果の並びを自由に変更できる関数です。
QUERY関数の応用例
次に条件指定を使った簡単な応用例を、先ほどの表を使いながら紹介します。
今回の例では表から年齢が20歳以上のみの社員のデータを抽出します。記入する関数は次の通りです。
=QUERY(A2:C4,“select A,C where C >= 20”)
この内容を実行すると次のような結果が表示されます。
このように「where」のあとに条件式を使って条件を指定することで、条件に一致するデータを抽出することができます。
また、次は年齢が20歳以上で社員番号が1より大きい場合の社員のデータを抽出します。
=QUERY(A2:C4,”select A,C where C >= 20 AND A >1″)
上記のように条件を駆使したり、その他にも便利な機能がありますが、ここでは紹介しきれないので、またの機会に紹介できればと思います。
QUERY関数の注意点
QUERY関数を使う場合に、私の経験上で注意点があります。
外部のスプレッドシートを参照する場合のセル指定が異なる
同一スプレッドシート内でQUERY関数を利用する場合は、以下の関数で問題ありません。
=QUERY(A2:C4,”select A,C”)
しかし、外部のスプレッドシートを使った場合は、以下のように「select」の後のセル指定が「Col・・・」といった形に変わるので注意が必要です。
=QUERY(「外部スプレッドシート」,”select Col1,Col3″)
表の「表示形式」の設定に注意
セルに対して設定する「表示形式」を正しく設定していないと、条件指定などを利用した際に正しく抽出されない場合があります。セルの設定は事前に基準を決めておくと良いです。
おわりに
いかがだったでしょうか。作られた表から必要な情報だけを抽出して、集計したり資料化することができるので、最初に準備する表で色々な集計結果を作り上げることが可能です。
違った応用例があれば、またの機会に紹介していきます!
▼他の関数も知りたい方はぜひこちらもご覧ください! フィルタ不要で並び替えができる夢のようなSORT関数【Googleスプレッドシート/Excel】
エクセル(Excel)で日付や時刻を表示するときに便利な関数 -その2-
【エクセルTips】数値を丸めたいときの関数まとめ(四捨五入/切り捨て/切り上げ/整数部分を取り出す関数)