Googleスプレッドシートの画期的な関数「QUERY関数」「IMPORTRANGE関数」

GoogleスプレッドシートのIMPORTRANGE関数とQUERY関数、さらにこれらを組合せて使うことで、別シートのデータをリアルタイムに読み込み、必要な情報だけを自動で抽出・集計することができ、業務が効率化されます。

目次

IMPORTRANGE関数(=別シートのデータを読み込む)

業務が複雑になると、データが複数のスプレッドシートに分散しがちです。

そんな時に活躍するのがIMPORTRANGE関数。

この関数を使うと、他のスプレッドシートから指定した範囲のデータを、今開いているシートにリアルタイムで読み込むことができます。

基本的な構文

IMPORTRANGE関数の構文はとてもシンプル。

=IMPORTRANGE("スプレッドシートのURL", "シート名!範囲")

引数の説明

  • スプレッドシートのURL: データを読み込みたいスプレッドシートのURLをダブルクォーテーション(")で囲んで指定します。ブラウザのアドレスバーに表示されるURLをそのままコピー&ペーストしてください。
  • シート名!範囲: 読み込みたいデータの場所を「シート名」!「セル範囲」の形式で指定します。例えば、「売上データ」という名前のシートのA1セルからE100セルまでを読み込みたい場合は、"売上データ!A1:E100"と記述します。

初回利用時の「アクセス許可」

初めて他のスプレッドシートからデータを読み込む際、セルに#REF!というエラーが表示されます。

これはエラーではなく、セキュリティのための確認ステップです。

  1. #REF!エラーが表示されたセルにカーソルを合わせます。
  2. 表示される「アクセスを許可」という青いボタンをクリックします。

一度許可すれば、それ以降は同じファイルからのデータ読み込みがスムーズに行われます。

QUERY関数(=必要な情報だけを抜き出す)

QUERY関数は、まるでデータベースを操作する言語(SQL)のように、シート上のデータに対して「抽出」「集計」「並べ替え」といった柔軟な命令を出せる、非常に強力な関数です。

基本的な構文

=QUERY(データ範囲, "クエリ")

引数の説明

  • データ範囲: 操作の対象となるセル範囲を指定します。(例:A1:E100
  • クエリ: どのような操作をしたいかを命令文で記述します。この命令文はGoogle Visualization API クエリ言語というルールに基づいており、ダブルクォーテーション(")で囲んで記述します。

よく使うクエリ句

さしあたってまずは以下の3つを覚えると、様々なデータ操作が可能になります。

クエリ句意味使用例
SELECTどのを抽出するか指定します。SELECT A, C, D (A列とC列とD列を抽出)<br> SELECT * (すべての列を抽出)
WHEREどのを抽出するか条件を指定します。WHERE C = '東京' (C列が「東京」の行だけ抽出)<br> WHERE D >= 10000 (D列が10000以上の行だけ抽出)
ORDER BYどの列を基準に並べ替えるか指定します。ORDER BY D DESC (D列を降順(大きい順)で並べ替え)<br> ORDER BY A ASC (A列を昇順(あいうえお順)で並べ替え)

また、これらを組み合わせることで、「東京支社の売上1万円以上のデータを、売上が高い順に、担当者名と商品名だけ表示する」といった複雑な抽出も可能になります。

IMPORTRANGEとQUERYを組み合わせる

IMPORTRANGE関数とQUERY関数を組み合わせることで、さらにGoogleスプレッドシートの真価が発揮されます。

この2つを組み合わせれば、「別のファイルからデータをリアルタイムに読み込み、その中から必要なデータだけを、条件で絞り込んで、並べ替えた状態で表示する」という一連の流れを自動化することができます。

組み合わせ構文

QUERY関数のデータ範囲の部分に、IMPORTRANGE関数をそのまま入れてしまいます。

=QUERY(IMPORTRANGE("スプレッドシートのURL", "シート名!範囲"), "クエリ")

組み合わせ時の注意点

IMPORTRANGEで読み込んだデータに対してQUERY関数を使う場合、SELECT句などで列を指定する方法が通常と異なります。

A, B, Cのような列名ではなく、**Col1, Col2, Col3**のように指定する必要があります。Col1が読み込んだ範囲の1列目、Col2が2列目…となります。

具体例:各支店の売上データを本社用レポートに自動集計する

  1. 読み込みたいデータ:別ファイルの「支店別売上シート」にA列:担当者名、B列:支店名、C列:売上額のデータがあるとします。
  2. 実行したいこと:本社用のレポートシートに、「東京支店」の「売上5万円以上」のデータを「売上が高い順」で表示したい。
  3. 入力する関数=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxx", "支店別売上シート!A:C"), "SELECT Col1, Col3 WHERE Col2 = '東京' AND Col3 >= 50000 ORDER BY Col3 DESC")

この関数を一度入力しておけば、元の「支店別売上シート」のデータが更新されるたびに、本社用レポートの集計結果も自動で最新の状態に保たれます。もう、面倒なコピペや手作業での集計は必要ありません。

IMPORTRANGE関数とQUERY関数は、単なる便利関数ではありません。これらは、あなたのデータ管理やレポーティング業務のあり方を根本から変える力を持っています。

この2つの関数を使いこなすことで、

  • 手作業によるコピペや集計作業からの解放
  • ヒューマンエラーの撲滅
  • 常に最新のデータに基づいた意思決定

が可能になります。

この記事が気に入ったら
いいね または フォローしてね!

  • URLをコピーしました!
目次