QUERY関数の使い方としくみ|草野球成績管理表で条件に合う成績を抽出する例で解説

フォーム・シート作成

成績管理表にデータが増えてくると、「特定の対戦相手の試合だけを見たい」「条件に合う行だけを別の場所に一覧表示したい」という場面が出てきます。こうした抽出・集計をひとつの式でこなせるのがQUERY関数です。成績管理表から特定の対戦相手の試合だけを抜き出す例で、使い方としくみを見ていきましょう。

QUERY関数とは

📝 QUERY関数の役割(一言でいうと)

指定したデータ範囲に対して、SQLというデータベース検索言語に似た書き方で「どの列を」「どんな条件で」取り出すかを指定できる関数です。成績管理表では、シート全体の中からある条件に合う行だけを抜き出して別の場所に一覧表示したい場面で活躍します。

基本の書式はこうです。

=QUERY(データ範囲, "クエリ文字列", 見出し行数)

「データ範囲」は対象のセル範囲、「クエリ文字列」はSELECT(取り出す列)やWHERE(絞り込み条件)を並べた文字列、「見出し行数」は範囲の先頭に見出し行が何行あるかを数値で指定する部分です。

成績管理表での実例:特定の対戦相手の成績だけを抽出する

大阪グーニーズの「個人成績」シートには、A列に試合日、B列に対戦相手、C列に打数、D列に安打が入っているとします。

試合日 対戦相手 打数 安打
4/6 ○○ファイターズ 4 2
4/13 △△ベアーズ 3 1
5/11 ○○ファイターズ 4 3

この中から「○○ファイターズ戦」の試合だけを一覧表示したいとき、式はこうなります。

✅ ○○ファイターズ戦だけを抽出する式
=QUERY(個人成績!A1:D200, "select A, B, C, D where B = '○○ファイターズ'", 1)

これで「個人成績シートのA1:D200の中から、B列が○○ファイターズの行だけを、A・B・C・Dの順で取り出す」という処理が実行され、条件に合う試合だけが自動で一覧表示されます。元データに新しい試合が追加されれば、この一覧も自動で更新されます。

STEP 1
抽出結果を表示したいセルを選択する

一覧を表示したいシートの、空いているセル(例:別シートのA1)をクリックして選択します。QUERYの結果はこのセルを起点に自動で広がって表示されます。

STEP 2
「=QUERY(」と入力し、データ範囲を指定する

見出し行を含めた範囲(例:個人成績!A1:D200)を指定します。シート名を頭につけることを忘れないようにしましょう。

STEP 3
クエリ文字列に取り出したい列と条件を書く

“select 列, 列 where 列 = ‘条件'” の形で、取り出したい列と絞り込みたい条件をダブルクォートの中に書きます。

STEP 4
見出し行数を指定し「)」で閉じてEnterキーで確定する

範囲の先頭に見出し行が1行あるなら最後の引数に「1」を指定します。確定すると条件に合う行だけがすぐに一覧表示されます。

しくみを理解する:QUERYは何をしているのか

📝 QUERYの内部動作

QUERY関数は、指定したデータ範囲をひとつの小さなデータベースの表のように扱います。クエリ文字列の中の「select」で取り出す列を、「where」で絞り込む条件を指定すると、範囲内を1行ずつ確認し、条件に合う行だけを選び出して、指定した列の順番で結果を組み立てて返します。

  • 列の指定は範囲内の並び順ではなく、シート上の実際の列名(A・B・C…)で行う
  • 結果は起点のセルから自動で必要な行数・列数だけ広がって表示される(スピル)
  • 元データが増減すると、結果も自動で再計算される

よくあるミス:抽出結果がおかしくなる原因

⚠️ 原因1:列の指定を「範囲の何列目か」で考えてしまう

例えばB2:D200のようにB列から範囲を指定した場合でも、QUERYの中では引き続き「B、C、D」というシート上の実際の列名で指定します。「範囲の1列目だからA」と考えて書いてしまうと、意図した列が取り出せません。

⚠️ 原因2:文字列条件のクォート忘れ

where B = ○○ファイターズ のように、文字列の条件をシングルクォートで囲まずに書いてしまうと、○○ファイターズという文字列を列名だと誤解されてエラーになります。文字列は必ずwhere B = ‘○○ファイターズ’のようにシングルクォートで囲みましょう。

✅ この記事のまとめ
  • QUERY関数は「SQL風の書き方でデータを抽出・整形する」関数
  • 列の指定は範囲内の順番ではなくシート上の実際の列名で行う
  • 結果は起点セルから自動で広がって表示され、元データの変化にも自動で追従する

次回予告

次回のテーマは「UNIQUE関数」です。重複したデータを取り除いてリストを作る仕組みを、シーズン出場選手一覧を自動生成する例で解説していきます。

▶︎ 次回:UNIQUE関数の使い方としくみ

コメント

タイトルとURLをコピーしました