Google スプレッドシートの使い方

スプレッドシートで別シートを参照・集計する方法! IMPORTRANGE関数で簡単にファイル間のデータを参照

Googleスプレッドシートを活用していると、過去に作った別シートにある表のデータを参照したいことがあります。例えば「1カ月前に作った売上管理の集計シートを別のシートで参照したい」といったケースですね。今回は、その方法を説明します。

井上 健語

執筆者:井上 健語

ワード(Word)の使い方ガイド

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

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

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

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

「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」

シート名「売上管理2020」

▼最後に③の「セル範囲」です。参照したい範囲は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関数の指定を入力

参照したいセルに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")
計算したいセル範囲を指定する

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

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

=SUM(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PAozzCzRMTjPP-e68DG7O7NViRWDKPB3x5hwoSxCS4s/edit#gid=0","売上管理2020!F2:F18"))
SUM関数の引数範囲を指定する

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

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

合計が計算・表示される

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

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

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

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

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

'シート名'!セル番地

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

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

①シート名
②セル番地
参照したいシート

参照したいシート

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

売上管理2020
シート名を確認

シート名を確認

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

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

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

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

='①'!②

つまり、

='売上管理2020'!F19

となります。

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

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

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

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

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

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

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

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

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

 

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

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

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます