データを自在に操る!GoogleスプレッドシートのQUERY()関数の使い方を徹底解説
スプレッドシート関数の使い方

データを自在に操る!GoogleスプレッドシートのQUERY()関数の使い方を徹底解説

| データ操作 IT Note Book

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()関数を使った基本的な使用方法を見てみましょう。以下のようなデータがあるとします。

名前年齢点数
たろう1085
はなこ1290
じろう1178
さぶろう1092
よしこ1388

このデータの中から、点数が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()関数を使って複数の条件を指定することもできます。例えば、以下のようなデータがあるとします。

名前年齢点数
たろう1085
はなこ1290
じろう1178
さぶろう1092
よしこ1388

このデータの中から、年齢が10歳以上で、点数が80以上の人を抽出したい場合、次のように書きます。

=QUERY(A1:C6, “SELECT A, B, C WHERE B >= 10 AND C >= 80”)

結果は次のようになります。

名前年齢点数
たろう1085
はなこ1290
さぶろう1092
よしこ1388

特定の列のみを抽出する方法

QUERY()関数を使って特定の列だけを抽出することもできます。例えば、以下のようなデータがあるとします。

名前年齢点数
たろう1085
はなこ1290
じろう1178
さぶろう1092
よしこ1388

このデータから、名前と点数だけを抽出したい場合、次のように書きます。

=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-011000
2024-01-021500
2024-01-032000
2024-01-042500
2024-01-053000

このデータから、2024年1月2日以降の売上を抽出したい場合、次のように書きます。

=QUERY(A1:B6, “SELECT A, B WHERE A >= DATE ‘2024-01-02′”)

結果は次のようになります。

日付売上
2024-01-021500
2024-01-032000
2024-01-042500
2024-01-053000

実際の利用事例

在庫管理での使用例

在庫管理では、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-01500
2024-01-02700
2024-01-03600
2024-01-04900
2024-01-05800

顧客データの分析

顧客データを分析する際にも、QUERY()関数が役立ちます。例えば、以下のような顧客データがあるとします。

顧客名購入日購入金額
たろう2024-01-015000
はなこ2024-01-027000
じろう2024-01-036000
さぶろう2024-01-049000
よしこ2024-01-058000

このデータから、購入金額が6000以上の顧客を抽出したい場合、次のように書きます。

=QUERY(A1:C6, “SELECT A, B, C WHERE C >= 6000”)

結果は次のようになります。

顧客名購入日購入金額
はなこ2024-01-027000
じろう2024-01-036000
さぶろう2024-01-049000
よしこ2024-01-058000

学校の成績管理

学校の成績管理でも、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()関数についての説明は終わりです。ぜひ、実際に使ってみてください。データの操作がとても楽になりますよ!