スプレッドシートIMPORTRANGEの使い方|別のシートからデータを取得する
本記事では、スプレッドシートのIMPORTRANGE関数について解説していきます。
具体例を使いながら解説していますので、ぜひ参考にしてみてください。
スプレッドシートのIMPORTRANGE関数
スプレッドシートのIMPORTRANGE関数は、別のシートを参照してデータを取得できる関数です。
指定したスプレッドシートからセルの範囲を読み込みます。
公式ドキュメント
元データに手を加えずに取得できるため、データを整形したり集計したいときによく使用します。
IMPORTRANGE関数の使い方
IMPORTRANGE関数の使い方は下記の通りです。
IMPORTRANGE(スプレッドシートのURL, 範囲の文字列)
引数 | 説明 |
---|---|
スプレッドシートのURL | 参照したいシートのURLを指定します。 |
範囲の文字列 | 参照する範囲を、”[シート名!]範囲”の形式で指定します。 |
IMPORTRANGE関数を使うには、参照したいシートのURLと参照する範囲が必要です。URLを知らないシートは参照できないので、事前に共有してもらいましょう。
IMPORTRANGE関数を使った例
それでは、実際にIMPORTRANGE関数を使用してみましょう。
別シートの「参照元」タブのデータを取得する
今回はA2セルを基準にデータを取得したいので、A2セルを選択しておきます。
=IMPORTRANGE(“シートURL”,”参照元!A2:C10″)
シートURLはご自身の環境に合わせて指定してください。
IMPORTRANGE関数を入力したA2セルに「#REF!」と表示されています。カーソルを合わせると「これらのシートをリンクする必要があります」と出るのでアクセスを許可をクリックします。
アクセスを許可すると少し読み込みがあり、無事に別シートのデータを取得できたと思います。
参照元のタブ名の変更は要注意
IMPORTRANGE関数の第2引数で参照する範囲を指定しましたが、参照元のタブ名が変更されるとIMPORTRANGE関数もエラーになってしまいます。
参照元のタブが変更されてエラーになった場合は、IMPORTRANGE関数で指定しているタブ名を修正すれば解決できるので参照元のタブ名が正しいか確認しましょう。
複数のシートを結合して取得する
上記の例では1つのスプレッドシートを参照していますが、複数のスプレッドシートを結合して取得することもできます。
縦に結合する
まずは複数のシートを縦に結合して取得する方法です。
={IMPORTRANGE(“シートURL①”,”[シート名!]範囲”);IMPORTRANGE(“シートURL②”,”[シート名!]範囲”)}
縦に結合したい場合は、「{}(波かっこ)」で囲みIMPORTRANGE関数を「;(セミコロン)」で繋いであげましょう。
横に結合する
続いて横に結合して取得する方法です。
={IMPORTRANGE(“シートURL①”,”[シート名!]範囲”),IMPORTRANGE(“シートURL②”,”[シート名!]範囲”)}
複数シートを横に結合するには、縦に結合した際の「;(セミコロン)」を「,(カンマ)」に変更します。
基本的には縦に結合して取得するケースがほとんどなので、「;(セミコロン)」を使う方法を覚えておけばよいでしょう。
IMPORTRANGE+QUERYを組み合わせたテクニック
IMPORTRANGE関数を使えば、別シートのデータを取得できることがわかったかと思います。しかし実際は、取得するデータを整形して使うことが多く、その場合はIMPORTRANGE関数とQUERY関数を組み合わせて使用します。
QUERY関数と組み合わせれば条件に一致したデータだけを取得したり、昇順・降順に並べ替えたりと自由に整形することができます。
QUERY関数の使い方については「スプレッドシートQUERY関数の使い方まとめ【基礎から応用まで】」にまとめていますので、気になった方はチェックしてみてください。
まとめ
今回は、スプレッドシートのIMPORTRANGE関数について解説しました。1つのシートに大量のデータがあると処理が重くなってしまいます。データの種類に応じて分割し、IMPORTRANGE関数で必要な分だけ参照するとよいでしょう。
ぜひIMPORTRANGE関数を活用してみてください。