IMPORTRANGEの使い方

IMPORTRANGEの使い方

公開: 更新:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座

Googleスプレッドシートで別ファイルのデータを集計する際、手作業による転記の手間に悩まされた経験はないでしょうか。関数を用いて正しい設定や手順を行えば、複数ファイルにまたがるデータを自動で同期する仕組みを構築可能です。

この記事では、IMPORTRANGEの基本的な構文を指定する手順に加え、エラーの対処法や他の関数と組み合わせる実践的な方法まで詳しく解説します。複数ファイルを用いたデータ管理を効率化したい方は、ぜひ参考にしてください。


IMPORTRANGE関数の基本的な使い方

IMPORTRANGE関数の基本的な使い方

IMPORTRANGEは、別のファイルから指定した範囲のデータを読み込むための関数です。関数を正しく機能させるためには、以下の2つの引数を順番に指定するルールがあります。

  1. 別のスプレッドシートURLを指定する
  2. 読み込むシートと範囲を指定する

引数に指定する要素とそれぞれの役割は、以下の通りです。

引数 指定内容
第一引数 読み込み元のスプレッドシートURL
第二引数 読み込むシート名とセルの範囲

これらの引数をカンマで区切り、それぞれをダブルクォーテーションで囲むのが基本的な記述ルールです。実際に入力する式は、以下のように記述します。

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/edit", "シート1!A1:C10")

数式中の「xxxxxxx…xxx」の部分は説明用のプレースホルダーのため、実際に使用する際は自分の環境にあるスプレッドシートのURLへ置き換えます。第一引数に読み込み元のスプレッドシートURL、第二引数に「シート名!セル範囲」を指定すると、別ファイルの「シート1」にあるA1からC10までのデータがそのまま読み込まれる仕組みです。

別のスプレッドシートURLを指定する

第一引数には、データを取得したい別ファイルのスプレッドシートURLを設定します。式に直接記述する場合は、ブラウザのアドレスバーに表示されているURL全体をダブルクォーテーションで囲んで指定してください。

URLをあらかじめ別のセルへ入力してあれば、そのセルを参照する形で指定することも可能です。数式を後から見直す際にも、セル参照のほうが管理しやすくなります。

URLを指定する際のポイントは、以下の通りです。

  • 式に直接記述する場合はURL全体をダブルクォーテーションで囲む
  • URLの代わりにスプレッドシートキーのみの指定も可能
  • URLを入力したセルを参照して指定することも可能
  • 編集権限または閲覧権限があるファイルのURLを使用する

式に直接URLを記述する場合、URL全体をダブルクォーテーションで囲む処理を忘れるとエラーが発生する原因となります。一方、URLを保存したセルを参照する場合は、セル番地をそのまま指定するためダブルクォーテーションは不要です。

また、URLの中央にあるランダムな文字列を抽出し、スプレッドシートキーとして指定する方式にも対応可能です。

読み込むシートと範囲を指定する

第二引数では、読み込み元ファイル内のどのシートのどのセル範囲を取得するかを定義します。シート名とセル範囲をエクスクラメーションマーク(!)で繋ぐのが基本形式となります。

範囲を指定する際の具体的な記述ルールは、以下の通りです。

  • シート名とセル範囲をエクスクラメーションマークで区切る
  • シート名にスペースが含まれる場合はシングルクォーテーションで囲む
  • 式に直接記述する場合は引数全体をダブルクォーテーションで囲む

式に直接「シート名!セル範囲」を記述する場合はダブルクォーテーションで囲む必要がありますが、範囲指定を入力したセルを参照する場合は、第一引数のURLと同様にセル番地をそのまま指定するためダブルクォーテーションは不要です。シート名を省略した場合は、読み込み元ファイルの最も左にあるシートが自動的に参照される仕様のため、あらかじめ確認しておきましょう。

データ量が多い場合は、必要な列や行のみに参照するデータ範囲を絞り込むと動作が安定する傾向にあります。


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

IMPORTRANGE関数で発生するエラーの対処法

IMPORTRANGE関数で発生するエラーの対処法

IMPORTRANGE関数を使用する際、アクセス許可や入力ミスが原因でエラーが発生することがあります。正しい対処法を理解すれば、スムーズにデータを読み込める仕組みです。

発生しやすいエラーと主な対処法は、以下の通りです。

エラーの症状 主な原因と対処法
#REF!エラー アクセス権限の未付与。手動でアクセスを許可する
結果が大きすぎます 受信データ量が上限を超過。範囲を狭めるか分割する
数式の解析エラー 構文エラー。ダブルクォーテーションの抜け等を確認する

エラーの種類によって、原因や対処法が異なるため、表示された症状に応じて確認していきましょう。あらかじめ対処法を把握しておくと、エラー発生時にも落ち着いて対応できます。

アクセス許可を求める#REF!エラーを解消する

IMPORTRANGE関数を初めて設定した際、セルに「#REF!」と表示されるのはアクセス権限の未付与が原因です。Google Docs Editors Helpでは、権限について、次のように説明しています。

Spreadsheets must be explicitly granted permission to pull data from other spreadsheets using IMPORTRANGE .

出典:Google Docs Editors Help アクセス権限・許可の仕様

つまり、自動でデータが読み込まれるわけではなく、初回のみ手動で連携を承認する仕様です。セルにカーソルを合わせると、「アクセスを許可」というボタンが表示されます。

具体的な手順は、以下の通りです。

  1. エラーが出ているセルをクリックする
  2. 表示されたポップアップの「アクセスを許可」を選択する
  3. データの読み込みが完了するのを待つ

ボタンを押すだけで連携が完了し、エラーを解消できます。以降は同じ範囲を参照する数式であれば、再び許可を求められることはありません。

参照範囲が広すぎるエラーを解消する

「結果が大きすぎます」というエラーが出た場合、IMPORTRANGE関数が1回のリクエストで受信できるデータ量の上限(10MB)を超えている状態です。対象範囲を数万行から数千行へ減らすなど、参照する領域を絞り込んで受信データ量を抑える必要があります。

主な対処法は、以下の通りです。

  • 列全体(A:Aなど)の指定を避け、必要な行数(A1:A1000など)に絞る
  • 不要な空白セルや列が含まれていないか確認する
  • データ量が膨大な場合は、ファイル自体を複数に分割する

必要なデータだけを正確に指定し、受信するデータ量を上限内に収めることによって、読み込みの負担を軽減できます。

数式の解析エラーを解消する

「数式の解析エラー」は、関数の構文や記号の入力ミスによって発生します。スプレッドシートURLや範囲指定の文字列を、正しくダブルクォーテーションで囲んでいないことが主な原因です。

よくあるミスと修正方法は、以下の表にまとめました。

ミスの種類 内容と修正方法
ダブルクォーテーションの抜け URLやシート名を「"」で囲んで文字列として指定する
スペルミスや全角入力 関数名や記号が半角英数になっているか確認する
カンマの抜けや誤入力 引数の区切りに正しく半角カンマ(,)を使用する

これらを修正すればエラーが解消され、正常にデータが参照できる仕組みです。入力後にエラーが再発する場合は、全角文字や余分な空白が紛れ込んでいないか確認してください。

IMPORTRANGE関数と他の関数を組み合わせる方法

IMPORTRANGE関数と他の関数を組み合わせる方法

IMPORTRANGE関数は単独で使うだけではなく、他の関数と組み合わせることでさらに高度なデータ処理が可能です。別のスプレッドシートから読み込んだデータを条件付きで抽出したり、検索したりする実務的なテクニックを解説します。

なお、以降の数式例に含まれるURL部分は説明用のプレースホルダーのため、実際に使用する際は自分のスプレッドシートURLへ置き換えてください。

組み合わせる関数の主な目的は、以下の通りです。

関数 組み合わせる目的
VLOOKUP関数 別ファイルにあるマスターデータから特定の値を検索して表示する
QUERY関数 別ファイルのデータから条件に一致する行や列だけを抽出・並べ替えする

用途に合わせて関数を使い分けることで、業務効率が大きく向上します。検索したいのか抽出したいのかが、選択の基準です。

VLOOKUP関数で別ファイルのデータを検索する

VLOOKUP関数とIMPORTRANGE関数を組み合わせると、別ファイルで管理している顧客名簿や商品マスターなどを検索キーにしてデータを取得できます。データを1箇所に集約して管理したい場合に役立つ手法です。

まず、VLOOKUP関数の第2引数である検索範囲の指定部分に、IMPORTRANGE関数を挿入します。これにより、別ファイルにある指定範囲が仮想的な表として扱われ、検索対象として機能する仕組みです。

設定の基本的な流れは、次の3ステップで進めます。

  • 検索キーを設定してVLOOKUP関数を記述する
  • 検索範囲の部分にIMPORTRANGE関数を挿入する
  • 列番号と検索の型を指定して関数を完成させる

具体的な式は、次のとおりです。実際の値は、ご自身のスプレッドシートの環境に合わせて、A2セルや顧客名簿シートの名称を書き換えてください。

=VLOOKUP(A2, IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/edit", "顧客名簿!A:C"), 2, FALSE)

検索キーであるA2セルの値を、別ファイルの「顧客名簿」シートA列からC列の範囲で検索し、一致した行の2列目にある値を表示します。組み合わせる前に、単独のIMPORTRANGE関数で一度データを読み込み、アクセス許可を済ませておく必要があります。

許可がない状態だと、VLOOKUP関数全体がエラーになってしまうため注意しましょう。先に単体で動作確認しておくと、原因の切り分けがしやすくなります。

QUERY関数で必要なデータだけを抽出する

QUERY関数の中にIMPORTRANGE関数を組み込むと、大量のデータから必要な列や特定の条件を満たす行だけを絞り込んで表示できます。ただし、IMPORTRANGE自体は指定した範囲のデータを一度すべて取得したうえでQUERYが絞り込む処理のため、読み込みの負荷そのものを軽減する手法ではありません。

QUERY関数の第1引数であるデータ範囲にIMPORTRANGE関数を指定し、第2引数で抽出条件を記述します。別ファイルから読み込んだデータを操作する場合、列の指定はアルファベットではなく、列番号で記述するのが特徴です。

具体的な式は、次のように記述しました。条件式の書き方は通常のQUERY関数と変わらないため、既にQUERY関数を使ったことがある場合はそのまま応用可能です。

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/edit", "売上!A:D"), "select Col1, Col3 where Col4 = '東京店'", 1)

別ファイルの「売上」シートA列からD列を読み込み、Col4が「東京店」の行に絞ってCol1とCol3を表示します。IMPORTRANGE自体の負荷を抑えたい場合は、参照する範囲自体を狭めるか、参照元のシートであらかじめ集計・抽出しておく必要があります。

列の指定方法の違いは、以下の通りです。

条件 記述方法の違い
同一ファイル内のQUERY関数 select A, Bのように列記号で指定する
別ファイルを読み込む場合 select Col1, Col2のように列番号で指定する

QUERY関数を活用すれば、月別の売上データから特定店舗の記録だけを抽出するといった柔軟な集計が実現します。日々のデータ集計作業を自動化するのに適したテクニックです。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

IMPORTRANGE関数の読み込みが遅い場合の改善策

IMPORTRANGE関数の読み込みが遅い場合の改善策

IMPORTRANGE関数を使って大量のデータを読み込むと、スプレッドシートの動作が重くなる場合があります。このようなパフォーマンスの低下を防ぐための主な改善策は、以下の通りです。

改善策 特徴と適した状況
参照するデータ範囲を狭める 必要な列や行だけを指定する手軽な方法。
Google Apps Scriptで代替する 高速化や定期的な同期が必要な場合。

自身のシートの用途や扱うデータ量に合わせてこれらの手法を選択し、スプレッドシート全体の動作を最適化する仕組みを構築します。

参照するデータ範囲を狭める

スプレッドシートの読み込みが遅い場合、最初に試すべきなのはIMPORTRANGE関数で指定するデータ範囲の見直しです。

シート全体を読み込むのではなく、必要な範囲に限定することによって、処理の負担を大幅に軽減できます。具体的な見直しのポイントは、以下の通りです。

  • 列全体の指定を避け、必要な列に絞る
  • 空白部分を含まないよう行番号まで指定
  • 集計済みの小さなデータを参照先にする

あらかじめ参照元のファイル側でデータを集計または抽出しておき、その結果のみを読み込む仕組みを作るのも効果的な手法と言えます。

Google Apps Scriptで代替する

データ量が非常に多い場合やリアルタイムの更新が不要な場合は、IMPORTRANGE関数の代わりにGoogle Apps Scriptを活用する手法が有効です。

関数による常時同期を止め、スクリプトで定期的にデータをコピーする仕組みに変更します。Google Apps Scriptを使用する主なメリットは、次の3点が挙げられます。

  • 読み込み回数が減り、動作が軽くなる
  • トリガー機能を用いて自動更新を設定
  • データ加工をインポートと同時に実行

関数の計算に依存しないため、大量のデータを扱う業務の自動化に適したアプローチです。ただし、Google Apps Scriptには1日あたりの実行時間や呼び出し回数に割り当て制限があり、初回実行時にはスクリプトへのアクセス許可を承認する作業も必要です。

トリガーが失敗した際に気付ける仕組み(実行ログの確認や通知設定)を用意したうえで、更新頻度を制御したい場合の代替案として検討しましょう。

IMPORTRANGEの使い方に関するよくある質問

同一のスプレッドシート内の別シートも参照できますか?

同一のファイル内にある別シートのデータも、IMPORTRANGE関数で参照できます。しかし、通常はシート名とセル範囲を直接指定する方が効率的です。

直接参照で対応できる場面であえて関数を使うと、動作が遅くなる原因となります。別のファイルからデータを集約する場面に限定して、活用するのが基本です。

IMPORTRANGE関数で読み込めるデータ量に上限はありますか?

Google公式ヘルプ(Google Docs Editors Help IMPORTRANGE関数)では、IMPORTRANGE関数が1回のリクエストで受信できるデータ量の上限を10MBまでと明記しています。上限を超えると、参照する範囲が広すぎることが原因でエラーが発生します。

受信するデータ量が10MBの上限を超えると、「結果が大きすぎます」というエラーとなってデータが表示されない仕様です。必要な列だけを絞り込むなど、範囲を最小限に抑える工夫を取り入れ、受信データ量を上限内に収めましょう。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する