みなさんこんにちは!
もり(@moripro3)です!
GoogleスプレッドシートQUERY関数の使い方をシリーズでお届けしていきます!
シリーズ初回の当記事では、「最初の一歩」としてこれらをお伝えします。
- スプレッドシートのQUERY関数とは
- QUERY関数の最大の肝「クエリ」とは何か?
- QUERY関数を使用するメリット
QUERY関数は、Excelにはない、Googleスプレッドシート特有の便利な関数です。
それではシリーズを通して習得していきましょう!
QUERY関数とは
QUERY関数とは、「データ」に「条件」を指定して、目的のデータを抽出する関数です。
構文がこちらです。Google公式ドキュメントも参考にご覧ください。
3つの引数を指定します。
引数 | 省略の可否 | 説明 |
---|---|---|
データ | 必須 | クエリを実行するセルの範囲 |
クエリ | 必須 | データ操作を実行する条件 |
見出し | 省略可 | データの上部にある見出し行の数 |
このQUERY関数を使うために重要な「クエリ」とは何か、詳しくみていきます。
クエリとは
英単語「query」の意味がこちらです。
- 質問する
- 問い合わせする
IT用語としての「クエリ」の意味もみてみましょう。
データベース管理システムに対する問合せ(処理要求)のこと。
データの抽出や更新などの処理要求を文字列で表す。処理対象のテーブルやデータの抽出条件、並べ方などを指定する。(ITトレンドより引用)
このシリーズを通じて、「クエリ=問合せ」と理解しておきましょう。
クエリのイメージを理解する
この項では、「データ」に「クエリ」を実行して目的のデータを抽出するイメージをつかみましょう。
会社の社員一覧から、特定の社員情報を抽出します。この場合、「社員の一覧」が「データ」にあたります。
スプレッドシートに「データ」を作成します。これがデータベースの役割をします。
この「データ」(データベース)に対して「クエリ」を実行します。
単一条件を指定するクエリ
すべての社員からタカハシさんを抽出する「クエリ」を作ってみます。「クエリ」とは「問合せ」ですね。
このクエリを実行すると、条件に合致する3人の「タカハシ」さんがやって来ます。これが、クエリの実行結果です。
この処理を、スプレッドシートのQUERY関数で表現してみます。
A~D列の「データ」に対して、QUERY関数で「クエリ」を実行して結果を取得しています。
※QUERY関数の「引数の指定方法」はシリーズを通して詳しく紹介していきますので、ここではイメージだけ確認しましょう。
単一条件の指定と並び替えをするクエリ
クエリは「データの並び替え」もできます。下記の例だと、2つの「問合せ」をまとめて実行しています。
①タカハシさんを呼ぶ
②社員番号順に並んでもらう
スプレッドシートで実行した結果です。タカハシさんが社員番号順に並びます。
複数条件を指定するクエリ
クエリは「複数の条件」を指定することも可能です。
・部署=システム部
・姓=タカハシ
を抽出するイメージがこちらです。
スプレッドシートでのクエリの実行結果がこちらです。(※QUERY関数の使い方はシリーズを通して解説していきますのでご安心を!)
以上が、QUERY関数で「クエリ」を実行するイメージです。QUERY関数を使用すると、大量の「データ」から、目的のデータのみを抽出することができます。
QUERY関数を使用するメリット
QUERY関数は、「データ」に「クエリ」を実行して、目的のデータを抽出する関数とイメージしてもらえたかと思います。
ここで気になるのが、「なぜ、QUERY関数を使う必要があるのか?」です。
スプレッドシートには「フィルタ」や「並び替え」機能がありますよね。
フィルタ機能を使えば、目的の行を取得することができます。社員番号で並び替えるなら「並び替え」の機能も使えます。
「一度だけデータを抽出する」「一度だけデータの並び替えをする」のであれば、これらの機能でも十分かもしれません。
元データの変更内容を自動で取得できる
日次でシステムからデータを取得して、スプレッドシートに貼り付け、決まった条件でデータを抽出する作業を考えてみます。
「フィルタ」や「並び替え」の機能だと、元データが変わったら、そのたびに手動で条件を設定する必要がありますよね。
QUERY関数は、一度セルに関数を入力すれば、元データに変更が発生した場合も、自動で結果が反映されます。
さきほどのスプレッドシートの元データを2点変更してみます。
①姓をタカハシ→マツイに変更
②新入社員タカハシさんを追加
F1セルに入力されているQUERY関数はそのままですが、取得結果が自動で反映されました。
元データが変わるたびに、手作業でポチポチと条件を設定するのはめんどうくさいですよね。毎日こんな風に呼び出す作業と同じです。
それに対して、QUERY関数は「貼り紙」のようなものです。一度条件を設定すれば、人が何もしなくても、自動で最新データを取得できます。
複雑な条件でも、セルに関数を入力しておくだけでよいのが便利です。
QUERY関数は、「いつも同じ条件でデータを抽出するルーチン作業で、最高に役立つ関数」と覚えておきましょう!
「元データ」と「抽出データ」を別シートで管理できる
QUERY関数を使うと、「元データ」と「抽出データ(結果)」を別シートに分けることも可能です。
①別々のスプレッドシートに分ける
- 元データ = スプレッドシートAのシート1
- 抽出データ = スプレッドシートBのシート1
②同一スプレッドシートの別シートに分ける
- 元データ = スプレッドシートAのシート1
- 抽出データ = スプレッドシートAのシート2
「元データ」をシート1に用意して、
シート2にQUERY関数を入力してデータを取得することも可能です。(シート1を参照する)
このように、「元データ」と「抽出データ」を分けることで、データの管理がしやすくなります。
スプレッドシートを開いたら、前の作業者がフィルタをかけっぱなしだった!なんてイライラもなくなりますね。
「SQL」を習得できる
QUERY関数の「クエリ」は、データベース言語の1つである「SQL」がベースになっています。
仕事で大量のデータ集計をする方は、「SQL」を習得すると、AccessやExcelVBAでも利用できます。
![](https://tonari-it.com/wp-content/uploads/select-e1469355008840.jpg)
SQLってプログラマが使うものでしょ…と思っている事務職の方も、ぜひチャレンジしてみてください。
まとめ
今回の記事では、QUERY関数を紹介するシリーズの第一歩として、この3点をお伝えしました。
- スプレッドシートのQUERY関数とは?
- 「クエリ」とは何か?
- QUERY関数を使うメリット
- 一度セルに関数を入力すれば、元データに変更が発生した場合も、自動で結果が反映される
- 「元データ」と「抽出データ」を分けて管理できる
ルーチン作業で、いつも同じ条件を指定してデータを抽出している人は、ぜひ覚えておきたい関数です!
次回は、QUERY関数の基本的な使い方・引数の指定方法をお伝えします。
![](https://tonari-it.com/wp-content/uploads/2ddad7580c9c9cdce8a076887ba1b650-160x90.png)
連載目次:GoogleスプレッドシートQUERY関数をマスターしよう
スプレッドシートのQUERY関数を使って、データ抽出・集計を効率化する方法を紹介しています。
- スプレッドシートのQUERY関数を使う最初の一歩!クエリを理解する
- QUERY関数の基本!別シートのデータからselect句で列を取得する方法
- 【QUERY関数】where句と比較演算子を使って単一条件に一致した行を抽出する
- 【QUERY関数】where句とlike演算子を使用して指定の文字を含む行を抽出する
- 【QUERY関数】where句で日付データを条件にして行を抽出する
- 【QUERY関数】where句で時刻データを条件にして行を抽出する
- 【QUERY関数】where句でand,orを使用して複数条件を指定する
- 【QUERY関数】order by句で抽出結果を昇順・降順ソートする
- 【QUERY関数】group by句とcount関数で列のデータ数をカウントする
- 【QUERY関数】group by句とsum関数で列の値の合計値を求める
- 【QUERY関数】group by句とavg関数で列の値の平均値を求める
- 【QUERY関数】group by句とmax・min関数で列の最大値・最小値を求める
- 【QUERY関数】group by句で複数の列をグループ化して集計する