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

2020年4月18日

Googleスプレッドシートの便利な関数の1つにVLOOKUP関数があります。

スプレッドシートから条件にマッチしたものを抽出することができますが、同じスプレッドシート内ではなく、異なるスプレッドシートのファイルを参照したい場合があります。

その場合、IMPORTRANGE関数を使えば、別のファイルを参照することができます。

IMPORTRANGEで別のスプレッドシートを参照

スプレッドシートを扱っていると、同じスプレッドシートではなく、異なるスプレッドシートのファイルにあるセルを参照したいことがあります。

その場合に使用するスプレッドシートの関数が「IMPORTRANGE」です。

IMPORTRANGEは、指定したスプレッドシートの範囲を参照する関数です。

IMPORTRANGEの構文は以下の通りです。

=IMPORTRANGE("スプレッドシートのURL", "対象シートのセル範囲")

1つ目の引数は、スプレッドシートのURLを指定します。

ブラウザでスプレッドシートを開いた際にURL欄に表示されます。

スプレッドシートのIMPORTRANGE関数の1つ目の引数で指定するスプレッドシートURLはブラウザのURL欄に表示

2つ目の引数は、指定したスプレッドシートの中から対象シート名のセルの範囲を指定します。

例えば、上の画像で表の範囲を指定する場合には、IMPORTRANGEを以下のように記述します。

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1MrlXHTfTO8a5F-o3TxPQprsZ-Zz_m_237DW05_2JuGw/","注文データ!B1:E10")

※スプレッドシートの関数内に日本語を入力するとバグが起きるので、メモ帳などの記入後、コピペして記入しましょう。

IMPORTRANGE初回実行時はアクセス許可が必要

なおIMPORTRANGE関数は、異なるスプレッドシートへアクセスする際には「アクセス許可」が必要です。

スプレッドシートのIMPORTRANGE関数を初回実行時にはアクセス許可を行う必要がある

画面に表示された「これらのシートをリンクする必要があります」の下にある「アクセスを許可」ボタンをクリックします。

別スプレッドシートへのアクセス許可を行うと、IMPORTRANGE関数で別のスプレッドシートのデータを取得可能

すると、別のスプレッドシートにあるデータを取得し、表示することができます。

このようにしてIMPORTRANGEを関数を使い、あるスプレッドシートから異なるスプレッドシートのシート・セルを参照することが可能です。

VLOOKUPをIMPORTRANGEと組み合わせ

このIMPORTRANGE関数をVLOOKUP関数とも組み合わせることができます。

VLOOKUP関数の構文は以下の通りです。

=VLOOKUP(検索キー,検索範囲,指数,FALSE)

この2つ目の引数である「検索範囲」にIMPORTRANGEを適用します。

=VLOOKUP(検索キー,IMPORTRANGE("スプレッドシートのURL", "対象シートのセル範囲"),指数,FALSE)
VLOOKUP関数とIMPORTRANGE関数と組み合わせた数式例文

※VLOOKUP関数とIMPORTRANGE関数の例文(サンプル)

=VLOOKUP(A2,IMPORTRANGE("https://docs.google.com/spreadsheets/d/1MrlXHTfTO8a5F-o3TxPQprsZ-Zz_m_237DW05_2JuGw/","注文データ!C1:E10"),2,false)

VLOOKUP関数とIMPORTRANGE関数を組み合わせることで、異なるスプレッドシートの表をVLOOKUP関数で抽出することが可能です。

IMPORTRANGEの使いすぎに注意

IMPORTRANGE関数とVLOOKUP関数を連携させると、ありとあらゆるスプレッドシートのセルや範囲を参照することができます。

しかし、そんな便利なIMPORTRANGEにも利用する上で注意したいポイントがあります。

注意点はIMPORTRANGEをあるスプレッドシートで多用しすぎると、スプレッドシートの処理が重たくなる点です。

複数のスプレッドシートを参照すると、それぞれのスプレッドシートの読み込みが発生します。

その読み込む量が増えれば増えるだけ、処理に時間がかかるようになり、動作が遅くなります。

そのため、基本的には同じスプレッドシート内の値を参照するようにして、できるだけIMPORTRANGEを使う回数を減らすことが重要です。

まとめ・終わりに

今回、VLOOKUP関数で同じスプレッドシートではなく、異なるスプレッドシートの値を参照する方法を紹介しました。

IMPORTRANGE関数を利用することで、初回にアクセス許可を行えば、別のスプレッドシートのシートを参照することができます。

VLOOKUPとIMPORTRANGEの組み合わせでスプレッドシートの活用法が非常に広がります。

ぜひ、別のスプレッドシートからVLOOKUP関数を使いたい場合にご参考ください。