スプレッドシートで別シートのデータを「参照」したい!

Googleスプレッドシートの異なるファイル間で表のデータを参照するには

Googleスプレッドシートの異なるシート間で表のデータを参照するにはどうすればいいでしょうか?

Googleスプレッドシートを活用していると、別のシートの表やデータを参照したいことがあります。例えば、ファイルAの「売上管理」シートに売上管理の表を作ったとします。その表をファイルBから参照したいとき、どうすればいいでしょうか。

【目次】
「IMPORTRANGE関数」を使って別ファイルのシートを参照する
別の関数と組み合わせる
補足1:同じファイルの別シートから参照するときは?
補足2:同じファイル内で別シートの単独セルを参照する場合
 

「IMPORTRANGE関数」を使って別ファイルのシートを参照する

この場合、表をコピー&ペーストする方法は使えません。「参照する」ということは、元の表を変更したら、参照先の表も自動的に更新されることを意味します。コピー&ペーストは単にデータを貼り付けるだけで、自動的に更新されないからです。

こんなとき活躍するのが「IMPORTRANGE関数」です。関数の使い方は次のとおりです(!や"などの記号はすべて半角です)。

IMPORTRANGE("スプレッドシートのURL", "シート名!セル範囲")

「スプレッドシートのURL」は、そのファイルのURLです。そして、「シート名」がシートの名前(タブの名前)で、「セル範囲」が「A1:F10」のようなセル範囲の指定です。以下では、具体的な手順を説明します。

▼売上管理の表です。この表を別のファイルから参照してみましょう。ここで確認が必要な情報は次の3つです。

①スプレッドシートのURL
②シート名
③セル範囲
売上管理の表です。この表を別のファイルから参照してみましょう。

参照したいスプレッドシート

▼まず、①の「スプレッドシートのURL」を確認しましょう。これはWebブラウザのURL欄の文字ですね。指定するときは、ここの文字をコピーして使います。具体的には、以下の文字です。

https://docs.google.com/spreadsheets/d/1PAozzCzRMTjPP-e68DG7O7NViRWDKPB3x5hwoSxCS4s/edit#gid=0
まず、①の「スプレッドシートのURL」を確認しましょう。

「スプレッドシートのURL」文字列をコピーする

▼次は②の「シート名」です。これはタブの名前ですから、次のとおりです。

売上管理2020
次は②の「シート名」です。これはタブの名前です。

シート名「売上管理2020」

▼最後に③の「セル範囲」です。参照したい範囲はA1セルからF18セルまでなので、次のようになりますね。

A1:F18
最後に③の「セル範囲」です。参照したい範囲はA1セルからF18セルまでなので「A1:F18」となります。

参照したい範囲

3つの情報が揃ったら、あとはIMPORTRANGE関数を指定するだけです。セルに入力するときは関数の前には半角イコール(=)が必要なので、次のようになりますね。

=IMPORTRANGE("①","②!③")

①②③に、前述の文字をあてはめると、次のようになります。

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PAozzCzRMTjPP-e68DG7O7NViRWDKPB3x5hwoSxCS4s/edit#gid=0","売上管理2020!A1:F18")
 

もっと短く

ここまでできたら、別ファイルの参照したいセルに、上記のIMPORTRANGE関数の指定を入力するだけです。しかし、その前に、指定をもう少しだけ短くする方法について補足しておきます。以下の太字部分に注目してください。

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PAozzCzRMTjPP-e68DG7O7NViRWDKPB3x5hwoSxCS4s/edit#gid=0","売上管理2020!A1:F18")

この太字部分を「スプレッドシートキー」と呼びます。実は、「スプレッドシートのURL」はこの「スプレッドシートキー」でも代用できます。つまり、次のように指定してもOKです。

=IMPORTRANGE("1PAozzCzRMTjPP-e68DG7O7NViRWDKPB3x5hwoSxCS4s","売上管理2020!A1:F18")

少しでも指定を短くしたいとき有効な方法なので、覚えておくと便利です。もちろん、長くてもよければ、URLをそのまま書いてもまったく問題はありません。
 

さっそく指定してみよう

IMPORTRANGE関数の指定方法が分かったら、あとは別ファイルの参照したいセルに入力するだけです。実際の操作は次のようになります。

▼別ファイルの参照したいセルにIMPORTRANGE関数の指定を入力し、[Enter]キーを押します。
別ファイルの参照したいセルにIMPORTRANGE関数の指定を入力し、[Enter]キーを押します。

参照したいセルにIMPORTRANGE関数の指定を入力

▼「#REF!」というエラーが発生します。
「#REF!」というエラーが発生します。

「#REF!」エラーが出てくる

▼セルをクリックすると「これらのシートをリンクする必要があります」と表示されるので、[アクセスを許可]をクリックします。
セルをクリックすると「これらのシートをリンクする必要があります」と表示されるので、[アクセスを許可]をクリックします。

[アクセスを許可]をクリック

▼表が参照されて読み込まれます。
表が参照されて読み込まれます。

表が参照されて読み込まれる

なお、「#REF!」というエラーが発生するのは初回だけです。[アクセスを許可]をクリックすると2つのファイルがリンクされ、以降はアクセスが許可されるので、エラーは発生しません。
 

別の関数と組み合わせる

IMPORTRANGE関数の使い方は、範囲を参照してデータを表示するだけではありません。他の関数と組み合わせることで、さまざまな便利な処理が可能になります。

たとえばSUM関数と組み合わせると、ファイルAの合計金額の範囲を参照し、ファイルBでその合計金額を計算・表示するといったことができます。以下に操作例を示します。

▼先ほどの売上管理表です。合計金額が入力されているセル範囲「F2:F18」を別のファイルから参照し、合計金額を計算・表示してみます。セル範囲が「F2:F18」になるだけですから、IMPORTRANGE関数の指定は次のようになります。

IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PAozzCzRMTjPP-e68DG7O7NViRWDKPB3x5hwoSxCS4s/edit#gid=0","売上管理2020!F2:F18")
先ほどの売上管理表です。合計金額が入力されているセル範囲「F2:F18」を別のファイルから参照し、合計金額を計算・表示してみます。

計算したいセル範囲を指定する

▼別ファイルで上記の指定とSUM関数を組み合わせて、次のように指定します。上記の指定全体をSUM関数の引数に指定しただけですね。

=SUM(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PAozzCzRMTjPP-e68DG7O7NViRWDKPB3x5hwoSxCS4s/edit#gid=0","売上管理2020!F2:F18"))
別ファイルで上記の指定とSUM関数を組み合わせて、次のように指定します。上記の指定全体をSUM関数の引数に指定しただけですね。

SUM関数の引数範囲を指定する

▼[Enter]キーを押すと合計が計算・表示されます。
[Enter]キーを押すと合計が計算・表示されます。

合計が計算・表示される

補足1:同じファイルの別シートから参照するときは?

ここまでは、異なるファイル間でセル範囲を参照する方法を説明しました。でも、同じファイル内で別シートのセル範囲を参照したいこともありますよね。その場合は、どうすればいいでしょうか?

結論を書くと、別ファイル間で参照する場合とまったく同じです。つまり、IMPORTRANGE関数を使って、同じように指定すればいいわけです。ちょっと面倒な気もしますが、別ファイルでも同じファイルでも方法が同じなので、覚えるのは楽ですね。
 

補足2:同じファイル内で別シートの単独セルを参照する場合

ただし、1つだけ例外があります。それは、同じファイル内で別シートのセルを"1つだけ"参照するときです。この場合は、IMPORTRANGE関数は不要です。指定方法は次のようになります。

'シート名'!セル番地

半角のシングルクォーテーション(')でシート名を囲み、半角の感嘆符(!)に続いて「A1」や「F10」などのセル番地を指定します。具体的な手順は次のとおりです。

▼この売上管理表の合計金額のセルを別シートから参照してみましょう。ここで確認が必要な情報は次の2つです。

①シート名
②セル番地
この売上管理表の合計金額のセルを別シートから参照してみましょう。

参照したいシート

▼①の「シート名」はタブを確認すれば分かります。つまり、次のとおりです。

売上管理2020
①の「シート名」はタブを確認すれば分かります。つまり「売上管理2020」です。

シート名を確認

▼②の「セル番地」は合計が表示されているセルの番地ですから、次のとおりです。

F19
②の「セル番地」は合計が表示されているセルの番地ですから「F19」です。

②の「セル番地」は合計が表示されているセルの番地なので「F19」となる

2つの情報が揃ったら、あとは別シートで指定するだけです。セルに入力するときは半角イコール(=)が必要なので、次のようになりますね。

='①'!②

つまり、

='売上管理2020'!F19

となります。

▼同じファイルの別シートの参照したいセルで次のように入力します。

='売上管理2020'!F19 と入力
同じファイルの別シートの参照したいセルで「='売上管理2020'!F19」と入力します。

'売上管理2020'!F19 と入力

▼[Enter]キーを押すと、セルが参照されて合計のデータが表示されます。
[Enter]キーを押すと、セルが参照されて合計のデータが表示されます。

合計のデータが表示される

複雑に見えてもルールはシンプル

今回は、異なるスプレッドシートのファイル間(および、同じファイルの異なるシート間)で、IMPORTRANGE関数を使ってセル範囲を参照する方法を説明しました。

そして補足として、同じファイルの異なるシート間で、1つのセルを参照する方法も説明しました。

関数などの記述だけを見ると暗号みたいで難しく感じますが、ルールはシンプルなのが分かったかと思います。1つずつ順番に操作すれば誰でもできると思いますので、本記事を参考にしてぜひトライしてみてください。

 

「Google スプレッドシートの使い方」の人気&おすすめ記事


■容量たっぷり20GB、国内通話5分無料も付いて、2970円(税込)



※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。