Googleスプレッドシートでデータをリンクする方法|IMPORTRANCEとQUERY関数の使い方

Googleスプレッドシートの基本的な操作は、多くの方がすでにマスターしているはずです。特定の行や列の固定、計算式の設定、データのグラフ化による視覚化など、日常的に活用していることでしょう。しかし、その先にも広大な可能性があります。
スプレッドシートを一段階強化する次のステップこそ、異なるスプレッドシート間でのデータリンクです。必要なデータやセル範囲を正確に取得し、まったく別のファイルへ送り込むことができます。本記事では、QUERY関数とIMPORTRANGE関数を使った具体的な手順をわかりやすく解説します。
注意: 別のスプレッドシートへデータをリンクする場合は、数式を入力した後に該当セルをクリックし「アクセスを許可」を選択する必要があります。この操作を行わないとデータが表示されませんのでご注意ください。
同じスプレッドシート内の別シートからデータをリンクする
まず基本として、同一スプレッドシート内の別シートからデータを読み込む方法をおさらいしておきましょう。
手順はとてもシンプルです。データを表示させたいセルを選択し、「=」に続けてシート名とセル番地を入力するだけです。例えば「Sheet2」のセルA1のデータをリンクするには、次のように入力します。
='Sheet2'!A1

これだけで、指定したデータが現在のシートに表示されます。
また、列全体をまとめて取り込みたい場合は、波括弧を使って次のように記述します。
{'Sheet2'!A1:A9}
IMPORTRANGE関数で別ファイルのデータをリンクする方法
異なるスプレッドシート(ファイル)間でデータをリンクする最も基本的な方法が、IMPORTRANGE関数です。構文は以下の通りです。
=IMPORTRANGE("spreadsheet_key", "range_string")それぞれの引数の意味は次の通りです。
- spreadsheet_key: データ取得元のスプレッドシートURLに含まれる、長い英数字の文字列(ID部分)
- range_string: 取得元のシート名(デフォルトは「Sheet1」「Sheet2」など)+「!」+取得したいセル範囲
ここでは、以下のようなシートからデータを取得するケースを想定します。

このスプレッドシートのA1~D100の範囲にあるデータを取得する場合、受け側のスプレッドシートには次の数式を入力します。
=ImportRange("1ByTut9xooZdPIBF55gzQ0Cdi04owDTtLVc_gPGtOKY0", "Sheet1!A1:D100")
この数式により、別スプレッドシート内の「Sheet1」からA1~D100の全データがインポートされます。初回実行時に「アクセスを許可」ボタンが表示されたらクリックしてください。設定が完了すると、元のシートと同じ形式でデータが自動的に表示されます。
QUERY関数で条件を絞ってデータをインポートする
IMPORTRANGEは大量のデータを一括で移動するのに最適ですが、「特定の条件に合うデータだけ」を取り込みたい場合にはQUERY関数が威力を発揮します。この関数は、元シートから指定したキーワードや条件を検索し、対応する行や列のデータを抽出してくれます。
例として、前項と同じシートを使い、今回は国名が「Germany(ドイツ)」の行の「Units Sold(販売数)」データのみを抽出してみましょう。

目的のデータを取得するには、次の数式を入力します。
=QUERY( ImportRange( "1ByTut9xooZdPIBF55gzQ0Cdi04owDTtLVc_gPGtOKY0", "Sheet1!A1:O1000" ) , "select Col5 where Col2 = 'Germany'")

ポイントは、IMPORTRANGE部分は前述とまったく同じ構文のまま、先頭にQUERY(を付けている点です。末尾の"select Col5 where Col2 = 'Germany'"で「2列目(Col2)が『Germany』である行の5列目(Col5=販売数)を抽出せよ」と指示しています。QUERYの中にはImportRangeとselect ColX where ColY = 'Z'という2つの引数が含まれているイメージです。
なお、IMPORTRANGEと組み合わせる場合、QUERYの列指定は「A」「B」といった列名ではなく「Col1」「Col2」という形式で指定する点にも注意してください。
まとめ:自動データ連携で作業効率を大幅アップ
これらの数式は、さまざまな自動データリンクに応用できます。元シートが更新されれば、リンク先のシートも自動的に最新の状態へと反映されるため、複数のスプレッドシートに散在するデータを1枚の「統合シート」に集約したい方にとって、大きな時間の節約になるはずです。
集計レポートの自動化、チーム間でのデータ共有、ダッシュボードの構築など、用途は無限に広がります。ぜひ創造力を働かせて、自分のワークフローに合わせた活用方法を見つけてください。
-
Googleスプレッドシートの使い方完全ガイド|初心者向けオンライン表計算の基本とExcelとの違い
現代の生活はすっかりデータ中心になりましたが、数字の管理や追跡は依然として簡単ではありません。そこで活躍するのがExcelやGoogleスプレッドシートです。マーケター、ビジネスパーソン、そして個人ユーザーまで、データを分析して賢い意思決定を行いたいときには、表計算ソフトが欠かせません。 長年、スプレッドシート作成といえばExcelが定番でした。しかし、クラウドベースのツール「Googleスプレッドシート」の登場により状況は一変しました。多くのユーザーがこの強力なオンライン表計算アプリへ乗り換え始めています。デスクトップアプリケーションの利便性とオンラインスプレッドシートの柔軟性、両方の良さを
-
Googleスプレッドシートを翻訳ツールに変える方法!GOOGLETRANSLATE関数の使い方
Googleスプレッドシートを使っていると、入力した単語を別の言語に翻訳したい場面があるかもしれません。そんなとき便利なのが、Googleが提供する「GOOGLETRANSLATE」関数です。Google翻訳は100以上の言語に対応しており、その翻訳機能をスプレッドシート上で直接利用できます。 多国籍企業で働く方なら、翻訳が必要になる機会は多いはずです。データをある言語から別の言語へ移し替える作業は時間がかかるうえ、手作業ではミスも起こりがちです。Googleの製品はオンラインでの共有・編集・閲覧ができるのが強みであり、スプレッドシートと翻訳機能がひとつに統合されれば、その利便性はさらに高まり