Googleスプレッドシートを使っていると、データがどんどん増えていきますよね。そんな時にデータを整理したり、特定の情報だけを取り出したりするのに便利なのが、QUERY()関数です。この関数を使えば、データを簡単に操作できます。この記事では、QUERY()関数の使い方を小学5年生でもわかるように丁寧に解説していきます。
QUERY() 関数とは
QUERY() 関数の基本
QUERY()関数は、Googleスプレッドシート内のデータをSQLという特別な言語を使って検索・抽出・並べ替えするための関数です。SQLはデータベースを操作するための言語ですが、スプレッドシート内でも使えるようになっています。QUERY()関数を使うと、簡単にデータを操作できるので、非常に便利です。
関数の構文と引数の説明
QUERY()関数の基本的な構文は次の通りです。
=QUERY(データ範囲, クエリ, [ヘッダー数])
- データ範囲: 検索対象となるデータの範囲です。例えば、A1からD10までのデータを対象にする場合は
A1:D10
と指定します。 - クエリ: SQL風の言語で書かれた検索条件です。例えば、列Bの値が100以上のデータを抽出する場合は
"SELECT B WHERE B >= 100"
と指定します。 - ヘッダー数 (オプション): データ範囲の中に含まれるヘッダー行の数です。デフォルトでは1行目がヘッダーとして扱われます。
次に、QUERY()関数の具体的な使い方を見ていきましょう。
QUERY() 関数の使い方
スプレッドシートでの基本的な使用方法
まず、QUERY()関数を使った基本的な使用方法を見てみましょう。以下のようなデータがあるとします。
名前 | 年齢 | 点数 |
---|---|---|
たろう | 10 | 85 |
はなこ | 12 | 90 |
じろう | 11 | 78 |
さぶろう | 10 | 92 |
よしこ | 13 | 88 |
このデータの中から、点数が80以上の人の名前と点数を抽出したい場合、次のようにQUERY()関数を使います。
=QUERY(A1:C6, “SELECT A, C WHERE C >= 80”)
結果は次のようになります。
名前 | 点数 |
---|---|
たろう | 85 |
はなこ | 90 |
さぶろう | 92 |
よしこ | 88 |
シンプルなデータセットを使った例
次に、もう少しシンプルな例を見てみましょう。以下のようなデータがあるとします。
商品名 | 価格 |
---|---|
りんご | 100 |
バナナ | 150 |
オレンジ | 200 |
グレープ | 250 |
メロン | 300 |
このデータから、価格が200円以上の商品を抽出したい場合、次のように書きます。
=QUERY(A1:B6, “SELECT A WHERE B >= 200”)
結果は次のようになります。
商品名 |
---|
オレンジ |
グレープ |
メロン |
実際のシナリオでの適用例
次に、実際のシナリオでQUERY()関数をどのように使うか見ていきましょう。例えば、売上データが次のようにあるとします。
日付 | 商品名 | 売上 |
---|---|---|
2024-01-01 | りんご | 500 |
2024-01-02 | バナナ | 700 |
2024-01-03 | オレンジ | 600 |
2024-01-04 | グレープ | 900 |
2024-01-05 | メロン | 800 |
このデータから、売上が600以上の日付と商品名を抽出したい場合、次のように書きます。
=QUERY(A1:C6, “SELECT A, B WHERE C >= 600”)
結果は次のようになります。
日付 | 商品名 |
---|---|
2024-01-02 | バナナ |
2024-01-03 | オレンジ |
2024-01-04 | グレープ |
2024-01-05 | メロン |
QUERY() 関数の応用例
複数条件のクエリ
QUERY()関数を使って複数の条件を指定することもできます。例えば、以下のようなデータがあるとします。
名前 | 年齢 | 点数 |
---|---|---|
たろう | 10 | 85 |
はなこ | 12 | 90 |
じろう | 11 | 78 |
さぶろう | 10 | 92 |
よしこ | 13 | 88 |
このデータの中から、年齢が10歳以上で、点数が80以上の人を抽出したい場合、次のように書きます。
=QUERY(A1:C6, “SELECT A, B, C WHERE B >= 10 AND C >= 80”)
結果は次のようになります。
名前 | 年齢 | 点数 |
---|---|---|
たろう | 10 | 85 |
はなこ | 12 | 90 |
さぶろう | 10 | 92 |
よしこ | 13 | 88 |
特定の列のみを抽出する方法
QUERY()関数を使って特定の列だけを抽出することもできます。例えば、以下のようなデータがあるとします。
名前 | 年齢 | 点数 |
---|---|---|
たろう | 10 | 85 |
はなこ | 12 | 90 |
じろう | 11 | 78 |
さぶろう | 10 | 92 |
よしこ | 13 | 88 |
このデータから、名前と点数だけを抽出したい場合、次のように書きます。
=QUERY(A1:C6, “SELECT A, C”)
結果は次のようになります。
名前 | 点数 |
---|---|
たろう | 85 |
はなこ | 90 |
じろう | 78 |
さぶろう | 92 |
よしこ | 88 |
数値データのフィルタリングと集計
QUERY()関数を使って数値データをフィルタリングしたり集計したりすることもできます。例えば、以下のような売上データがあるとします。
月 | 売上 |
---|---|
1月 | 1000 |
2月 | 1500 |
3月 | 2000 |
4月 | 2500 |
5月 | 3000 |
このデータから、売上が2000以上の月を抽出したい場合、次のように書きます。
=QUERY(A1:B6, “SELECT A, B WHERE B >= 2000”)
結果は次のようになります。
月 | 売上 |
---|---|
3月 | 2000 |
4月 | 2500 |
5月 | 3000 |
また、売上の合計を計算したい場合は、次のように書きます。
=QUERY(A1:B6, “SELECT SUM(B)”)
結果は次のようになります。
合計売上 |
---|
10000 |
日付データの操作
QUERY()関数を使って日付データを操作することもできます。例えば、以下のようなデータがあるとします。
日付 | 売上 |
---|---|
2024-01-01 | 1000 |
2024-01-02 | 1500 |
2024-01-03 | 2000 |
2024-01-04 | 2500 |
2024-01-05 | 3000 |
このデータから、2024年1月2日以降の売上を抽出したい場合、次のように書きます。
=QUERY(A1:B6, “SELECT A, B WHERE A >= DATE ‘2024-01-02′”)
結果は次のようになります。
日付 | 売上 |
---|---|
2024-01-02 | 1500 |
2024-01-03 | 2000 |
2024-01-04 | 2500 |
2024-01-05 | 3000 |
実際の利用事例
在庫管理での使用例
在庫管理では、QUERY()関数を使って特定の商品がどれくらい在庫として残っているかを確認することができます。例えば、以下のような在庫データがあるとします。
商品名 | 在庫数 |
---|---|
りんご | 100 |
バナナ | 50 |
オレンジ | 200 |
グレープ | 150 |
メロン | 300 |
このデータから、在庫数が100以上の商品を抽出したい場合、次のように書きます。
=QUERY(A1:B6, “SELECT A, B WHERE B >= 100”)
結果は次のようになります。
商品名 | 在庫数 |
---|---|
りんご | 100 |
オレンジ | 200 |
グレープ | 150 |
メロン | 300 |
売上レポートの作成
売上データを使ってレポートを作成する際にも、QUERY()関数が役立ちます。例えば、以下のような売上データがあるとします。
日付 | 商品名 | 売上 |
---|---|---|
2024-01-01 | りんご | 500 |
2024-01-02 | バナナ | 700 |
2024-01-03 | オレンジ | 600 |
2024-01-04 | グレープ | 900 |
2024-01-05 | メロン | 800 |
このデータから、日付ごとの売上合計を計算したい場合、次のように書きます。
=QUERY(A1:C6, “SELECT A, SUM(C) GROUP BY A”)
結果は次のようになります。
日付 | 合計売上 |
---|---|
2024-01-01 | 500 |
2024-01-02 | 700 |
2024-01-03 | 600 |
2024-01-04 | 900 |
2024-01-05 | 800 |
顧客データの分析
顧客データを分析する際にも、QUERY()関数が役立ちます。例えば、以下のような顧客データがあるとします。
顧客名 | 購入日 | 購入金額 |
---|---|---|
たろう | 2024-01-01 | 5000 |
はなこ | 2024-01-02 | 7000 |
じろう | 2024-01-03 | 6000 |
さぶろう | 2024-01-04 | 9000 |
よしこ | 2024-01-05 | 8000 |
このデータから、購入金額が6000以上の顧客を抽出したい場合、次のように書きます。
=QUERY(A1:C6, “SELECT A, B, C WHERE C >= 6000”)
結果は次のようになります。
顧客名 | 購入日 | 購入金額 |
---|---|---|
はなこ | 2024-01-02 | 7000 |
じろう | 2024-01-03 | 6000 |
さぶろう | 2024-01-04 | 9000 |
よしこ | 2024-01-05 | 8000 |
学校の成績管理
学校の成績管理でも、QUERY()関数を使うことができます。例えば、以下のような成績データがあるとします。
名前 | 科目 | 点数 |
---|---|---|
たろう | 数学 | 85 |
はなこ | 英語 | 90 |
じろう | 理科 | 78 |
さぶろう | 社会 | 92 |
よしこ | 国語 | 88 |
このデータから、点数が80以上の学生の名前と科目を抽出したい場合、次のように書きます。
=QUERY(A1:C6, “SELECT A, B, C WHERE C >= 80”)
結果は次のようになります。
名前 | 科目 | 点数 |
---|---|---|
たろう | 数学 | 85 |
はなこ | 英語 | 90 |
さぶろう | 社会 | 92 |
よしこ | 国語 | 88 |
注意点と制限
QUERY() 関数の注意点
QUERY()関数を使う時には、いくつかの注意点があります。まず、範囲を正しく指定することが大切です。範囲を間違えると、正しくデータが抽出されません。また、SQL文法に慣れることも重要です。最初は難しく感じるかもしれませんが、少しずつ慣れていくと便利に使えるようになります。
関数の制限事項
QUERY()関数にはいくつかの制限事項もあります。例えば、非常に大きなデータセットを扱う場合、処理が遅くなることがあります。また、複雑なクエリを実行する際にエラーが発生することもあります。そのため、できるだけシンプルなクエリを使うことが推奨されます。
エラーの対処方法
QUERY()関数を使っている時にエラーが発生した場合、まずクエリの文法を確認しましょう。文法が正しくない場合、エラーが発生することがあります。また、範囲の指定も確認しましょう。範囲が正しく指定されていない場合もエラーが発生します。
まとめ
QUERY() 関数の利便性と重要性
QUERY()関数は、データを簡単に検索・抽出・並べ替えることができる非常に便利な関数です。データの分析やレポート作成、在庫管理など、さまざまな場面で役立ちます。正しく使うことで、データの操作が格段に楽になります。
最後のアドバイス
QUERY()関数を使う時には、まずは基本的な使い方から始めることをお勧めします。少しずつ慣れていくと、複雑なクエリも使いこなせるようになります。また、他の関数と組み合わせて使うことで、さらに強力なデータ操作が可能になります。
他の関連する関数の紹介
QUERY()関数と一緒に使うと便利な関数もいくつかあります。例えば、データを並べ替えるSORT()関数や、特定の条件でデータを抽出するFILTER()関数などです。これらの関数も合わせて使うと、さらにデータの操作がしやすくなります。
これで、GoogleスプレッドシートのQUERY()関数についての説明は終わりです。ぜひ、実際に使ってみてください。データの操作がとても楽になりますよ!