LIGのメルマガ、はじめました!
LIGのメルマガ、はじめました!

QUERY関数の基本と簡単な応用例!意外と気づかない2つの注意点も紹介【Googleスプレッドシート】

tetsu

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

LIGでは主にGoogleのサービスを利用していることが多く、社内共有の利便性からGoogleの「スプレッドシート」を使う機会が多くあります。特に業務の中では、表計算やデータの集計などで多く使い、あらゆる関数を駆使して必要なシートを作成していきます。

今回はその関数の中でQUERY関数について、少し紹介していきます。QUERY関数はVLOOKUP関数より複雑な条件で出力したり、出力結果の並びを自由に変更できる関数です。

QUERY関数とは

QUERY関数の説明でGoogleでは

Google Visualization API のクエリ言語を使用して、データ全体に対するクエリを実行します。

参照元:Google
とあります。

これはGoogleが提供するスプレッドシート内のデータに対する処理を、指定の書式で構成した命令文を実行することを意味します。

実際に使ってみるとわかりやすいと思うので、ここからはQUERY関数の利用方法について解説していきます。

QUERY関数の利用方法

QUERY関数は以下の形が基本になります。

=QUERY(「1」,”select 「2」”)

それぞれの番号では以下の内容を入力します。

  1. 参照するデータのセルを範囲指定します。
    例)A1:C3 またはIMPORTRANGE関数を使った外部シートも利用可
  2. 参照するセル名をカンマ区切りで指定します。参照するセルが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″)

表の「表示形式」の設定に注意

セルに対して設定する「表示形式」を正しく設定していないと、条件指定などを利用した際に正しく抽出されない場合があります。セルの設定は事前に基準を決めておくと良いです。

おわりに

いかがだったでしょうか。作られた表から必要な情報だけを抽出して、集計したり資料化することができるので、最初に準備する表で色々な集計結果を作り上げることが可能です。

違った応用例があれば、またの機会に紹介していきます!

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

M o n g o