😀

【スプレッドシートの便利な使い方】他のファイルのデータを参照するIMPORTRANGE関数

2024/04/11に公開

【スプレッドシートの便利な使い方】他のファイルのデータを参照するIMPORTRANGE関数

要約

スプレッドシートでデータを色々管理していると、他のファイルのデータを参照したいことがあります。
そのようなときに便利なのが、IMPORTRANGE関数です。

IMPORTRANGE関数とは

他のファイルのデータを参照するための関数です。

Googleのヘルプページ
https://support.google.com/docs/answer/3093340?hl=ja

引数の1つ目には、参照先のスプレッドシートのURLを指定します。
引数の2つ目には、参照先のシート名と範囲を文字列で指定します。

IMPORTRANGE関数の便利な使い方

IMPORTRANGE関数を使うと、自分がアクセスできる他のファイルの情報を参照できます。

複数のファイルの集計をしたい場合

例えば、同じフォーマットのファイルが10個あり、それぞれの同じシート名の範囲のデータを集計したい場合、
IMPORTRANGE関数を使って、それぞれのファイルのデータを参照し、集計することができます。
各ファイルで、個別の集計計算をしておいて、その個別の集計結果だけを参照するという形にすることで、
集計の自動化が可能です。

複数のファイルで同じマスターデータを使いたい場合

例えば、複数のファイルで同じマスターデータを使いたい場合、
個別のファイルそれぞれでマスターデータを持っていると、マスターデータが変更されたときに、それぞれのファイルを修正する必要があります。
一方、マスターデータを1つのファイルにまとめておき、それをIMPORTRANGE関数で参照することで、
マスターデータの変更があったときに、1つのファイルだけを修正すればよくなります。
このとき、個別のファイルをわざわざ開かなくても勝手に更新されるため、作業効率が上がります。

試してみる

たとえば、下記のスプレッドシートのデータを参照してみます。
https://docs.google.com/spreadsheets/d/1gyRHe9obHOWCKaaWt8tk-34kMHWEpMODiEp4g2awyDc/edit#gid=1977972469

ご自身のスプレッドシートを新規作成し、A1セルに

=importrange("https://docs.google.com/spreadsheets/d/1gyRHe9obHOWCKaaWt8tk-34kMHWEpMODiEp4g2awyDc/edit#gid=1977972469","IMPORTRANGE!A:B")
と入力してみます。

最初に、REFのエラーが出る場合は、クリックしてアクセス許可をしてください。
成功すると、値が表示されます。

上記の関数内では、参照先のファイルは下記となりますので、実際に開いてみて、比べていただければと思います。
https://docs.google.com/spreadsheets/d/1gyRHe9obHOWCKaaWt8tk-34kMHWEpMODiEp4g2awyDc/edit#gid=1977972469

参照範囲としてA:Bを指定していますので、A列とB列のデータが参照され、C列の値は参照されていません。
関数内のA:BをA:Cに変えることで、C列の値も参照されますので、お試しください。

注意点

IMPORTRANGE関数を使用して他のファイルのデータを参照する場合、上書きされる範囲には何も入力していないことが前提です。
何かデータが書き込まれていると、上書きすることができずにエラーが表示されますので、注意が必要です。
連携されてきたセルをダブルクリックしてエンターを押すと、その値で上書きされてしまいますので、注意が必要です。

また、対象のファイルに表示される計算結果の文字や数字が参照されるので、書式などは連携されてきません。
書式自体は参照元のファイルで変更する必要があります(これはセルの上書きではないので可能です)。

Excelとの違い

Excelには、他のファイルのデータを参照するための方法として、[]で囲んでファイル名を指定する方法があります。
ただし、[]内は、同じフォルダ内のファイル名を指定するか、ファイルの格納場所のパスをすべて指定する必要があります。
つまり、ファイル名が変更されたり、フォルダの階層が変更されたりすると、[]の中を修正する必要があります。
また、誰かのパソコン内で作成されたファイルを参照することはできません。

この機能を使ったExcelを使用している方は、リンクが切れたエラーを見かけていないでしょうか?

一方、スプレッドシートはファイル名を変えたりフォルダの階層を変えても、ファイルのURL、IDが変わりません。
そのため、一度連携すると、ファイルを削除しない限り、いつでも参照することができます。
先程のファイルをIMPORTRANGEで参照した皆さんのシートは、私がファイル名、フォルダを変えたとしても、ファイルやシートを削除しなければ、参照し続けることができます。

この点は、Excelと同じように見えて、大きく異なるメリットとなります。

まとめ

IMPORTRANGE関数を使うことで、他のファイルのデータを参照することができます。
複数のファイルのデータを集計したり、マスターデータを共有したりすることで、
コピペの回数やミスを減らしたり、いろいろなファイルを開かなくても済むため、作業効率が上がります。
スプレッドシートの作業効率を上げるために、IMPORTRANGE関数を使いこなしてみてください。

Discussion