スプレッドシートで別のファイルを参照するIMPORTRANGE関数

2021年7月28日

前回、スプレッドシートをデータベース化してデータを検索する方法として、QUERY関数について書きました。

今回もGoogleスプレッドシート関連で、スプレッドシートから別のスプレッドシートを参照する方法を紹介します。

スプレッドシートをデータのマスタとして使う

前回の記事でも書いたのですが、スプレッドシートの使い方として、よくあるのがデータを管理することです。
前回の記事で以下の内容をデータベースとして定義しました。

スプレッドシートのデータベース

今回は、前回作ったデータベースをマスタとして、別ファイルから参照するというのをやってみます。

別ファイルからデータを参照する

まず、以下の通り、データベースのマスタを元ファイルとして定義します。

スプレッドシートの元ファイル

続いて、参照先のファイルを用意します。

スプレッドシートの参照先ファイル

元ファイルからデータを参照して、以下のように同じデータを表示できるようにしてみます。

別ファイルからデータを参照

データを参照するのに使用するのがIMPORTRANGE関数

データを参照する時はA1セルに以下のようにIMPORTRANGE関数を定義します。

=IMPORTRANGE("[ここに元ファイルのURLを入れる]","[ここに元ファイルのシート名を入れる]!A:F")

IMPORTRANGE関数の構文

IMPORTRANGE(スプレッドシートキー, 範囲の文字列)

スプレッドシートキー

参照するスプレッドシートのURLを指定します。

範囲の文字列

上記のスプレッドシートキーで指定したURLのファイルの中から、読み込む範囲を指定します。

[シート名!]範囲 の形式で指定します。
(例)
シート1!A2
シート1!A2:B6
シート1!A:B

シート名は省略可能で、省略した場合は最初のシートが対象となります。

IMPORTRANGE関数を使用するにはアクセス権限の許可が必要

初めてデータを参照する時は、元ファイルのアクセスを許可する必要があります。
以下のように表示されるので、「アクセスを許可」ボタンをクリックします。

アクセスを許可

アクセスを許可すると、以下のように参照することができます。

別ファイルからデータを参照

IMPORTRANGE関数とQUERY関数を組み合わせて、条件に合ったものだけ表示する

ここまででIMPORTRANGE関数でデータを参照する方法を紹介しました。
このIMPORTRANGE関数にQUERY関数を組み合わせて使うことで、より便利に活用できるので、合わせて紹介します。

QUERY関数と組み合わせることで、以下のように条件に合ったものだけ表示することができます。

データを参照し、QUERY関数で抽出

A1セルに以下のように入力します。

=QUERY(IMPORTRANGE("[ここに元ファイルのURLを入れる]","[ここに元ファイルのシート名を入れる]!A:F"),"where Col2 = '鈴木'",1)

QUERY関数で指定するデータに、IMPORTRANGE関数を使用するという方法です。

QUERY関数の2番目の引数で、
where Col2 = '鈴木’
とすることで、名前(姓)が「鈴木」のデータのみ表示できます。

1つ注意するのが、セル指定の方法です。
通常、QUERY関数では、「A」「B」というように、アルファベットでセルを指定しますが、QUERY関数で指定するデータにIMPORTRANGE関数を使用する場合は、「Col1」「Col2」(1からの連番)という形式に変わります。

セルをアルファベットで指定すると、以下のようにエラーになります。

QUERY関数のNO_COLUMNエラー

IMPORTRANGE関数を使用することで別のファイルからデータを参照することができる

IMPORTRANGE関数を使用することで、別のファイルからデータを参照することができるので、別のファイルからデータを参照してファイルを作るといったことができるようになります。

また、QUERY関数との組み合わせで、条件を付けてデータを表示したりすることもできます。

IMPORTRANGE関数を覚えておくと効率良くデータを管理できると思いますので、ぜひ使ってみてください。