Contents
スプレッドシートのIMPORTRANGE関数とは
スプレッドシートのIMPORTRANGE関数は、別のスプレッドシートからデータを取得する関数です。IMPORTRANGE関数を使用することで、異なるスプレッドシート間でデータを共有し、集計や分析を行えます。
IMPORTRANGE関数の構文
=IMPORTRANGE("スプレッドシートURL", "シート名!セル範囲")
- スプレッドシートURL:スプレッドシートURLをコピペして記入
- シート名!セル範囲:シート名とセル範囲を「!」で区切って記入
同じスプレッドシート内の別シートからデータを取得するときには、「=’シート1′!A1」のように記載すればOKです!IMPORTRANGE関数は必要ありません。
IMPORTRANGE関数の使い方
IMPORTRANGE関数を使うには、「=IMPORTRANGE(“スプレッドシートURL”, “シート名!セル範囲”)」のようにスプレッドシートのURL、シート名、セル範囲の指定をしましょう。
たとえば下図のシートからデータを連動させたいとします。
このとき必要になるのは、次の3点です。
- スプレッドシートのURL:https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXXXXXXXXX/edit#gid=XXXXXXXXXX
- シート名:pokemon
- セル範囲:J:M
これを「=IMPORTRANGE(“https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXXXXXXXXX/edit#gid=XXXXXXXXXX”,”pokemon!J:M”)」のように別シートのA1セルに記載します。
すると数秒〜10秒ほどして、「#REF!」というエラーと「これらのスプレッドシートをリンクする必要があります。読み込み先のスプレッドシートが新しい参照元のスプレッドシートから初めてデータを取得するときは、権限を付与する必要があります。」というメッセージが出てきます。
これに対して「アクセスを許可」をクリックしましょう。
これにより別シートのデータを取得できました。
IMPORTRANGE関数を何回も使うように関数を組む場合は、一度どこかの別シートに使いたい範囲をすべて読みこんで、「=シート名!セル範囲」として調整するのをおすすめします!
IMPORTRANGE関数は便利ですが、多用するとスプレッドシートが重くなったりエラーになったりする原因となります。
IMPORTRANGE関数に似た操作・関数
ARRAYFORMULA関数:同じスプレッドシートから自動反映
同じスプレッドシートの別シート(別タブ)から単体セルを転記したい場合には、「=シート名!セル範囲」のように記載します。ただし、範囲セルを指定する場合には「=ARRAYFORMULA(シート名!セル範囲)」のようにARRAYFORMULA関数が必要です。
たとえば下図のpokemonシートからほかシートへデータを反映したいとします。
この場合、シート名と範囲を指定して「=ARRAYFORMULA(pokemon!A:D)」のようにかけばOKです。
QUERY関数:同じスプレッドシートからフィルタして反映
QUERY関数でも同様に、同じスプレッドシートの別シートからデータを取得できます。QUERY関数は「=QUERY(シート名!セル範囲,”SELECT 取得したい列”)」、のように記載します。たとえば「=QUERY(pokemon!A:D,”SELECT A,B”)」と書くと下図のように表示されます。
QUERY関数を使うと特定の条件でフィルタしたり、列の並び順を変えたり、計算をしたりと複雑な処理ができます。反面、テクニックが必要なため扱う際には注意しましょう。
IMPORTRANGE関数のエラー・注意点
参照元の権限がないとエラーになる
IMPORTRANGE関数は他スプレッドシートから参照する都合上、参照元のスプレッドシートへの権限がないと「このシートにアクセスする権限がありません。」エラーになります。組織で利用しているスプレッドシートの場合は、管理者に権限をもらえないか相談しましょう。
参照したいデータが大きすぎる
IMPORTRANGE関数で取り込める最大値を超えた場合に「結果が大きすぎます。」というエラーの表示されるケースがあります。数千、数万程度では発生しないと思われますが、表示された際には参照するセルを減らしましょう。
シートが重すぎるとエラーになる
IMPORTRANGE関数は他セルからデータを都度持ってくるため、スプレッドシートが重くなりやすいです。そのため、その他の重くなりやすい挙動と組み合わせて使っていると、エラーになったりブラウザがクラッシュしたりするので注意しましょう。
読み込んだ先のシートからはデータを編集できない
IMPORTRANGE関数は参照元のデータから連動してデータを表示しているため、参照元のデータおよびIMPORTRANGE関数で表示したデータは直接編集できません。もし参照先で編集したいのであれば、IMPORTRANGE関数で呼び出したデータを他のセルに値貼付けして編集しましょう。