スプレッドシートのVLOOKUP関数で別のファイルを参照する方法(IMPORTRANGE関数)
Googleスプレッドシートの便利な関数の1つにVLOOKUP関数があります。
スプレッドシートから条件にマッチしたものを抽出することができますが、同じスプレッドシート内ではなく、異なるスプレッドシートのファイルを参照したい場合があります。
その場合、IMPORTRANGE関数を使えば、別のファイルを参照することができます。
IMPORTRANGEで別のスプレッドシートを参照
スプレッドシートを扱っていると、同じスプレッドシートではなく、異なるスプレッドシートのファイルにあるセルを参照したいことがあります。
その場合に使用するスプレッドシートの関数が「IMPORTRANGE」です。
IMPORTRANGEは、指定したスプレッドシートの範囲を参照する関数です。
IMPORTRANGEの構文は以下の通りです。
=IMPORTRANGE("スプレッドシートのURL", "対象シートのセル範囲")
1つ目の引数は、スプレッドシートのURLを指定します。
ブラウザでスプレッドシートを開いた際にURL欄に表示されます。
2つ目の引数は、指定したスプレッドシートの中から対象シート名のセルの範囲を指定します。
例えば、上の画像で表の範囲を指定する場合には、IMPORTRANGEを以下のように記述します。
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1MrlXHTfTO8a5F-o3TxPQprsZ-Zz_m_237DW05_2JuGw/","注文データ!B1:E10")
※スプレッドシートの関数内に日本語を入力するとバグが起きるので、メモ帳などの記入後、コピペして記入しましょう。
IMPORTRANGE初回実行時はアクセス許可が必要
なおIMPORTRANGE関数は、異なるスプレッドシートへアクセスする際には「アクセス許可」が必要です。
画面に表示された「これらのシートをリンクする必要があります」の下にある「アクセスを許可」ボタンをクリックします。
すると、別のスプレッドシートにあるデータを取得し、表示することができます。
このようにしてIMPORTRANGEを関数を使い、あるスプレッドシートから異なるスプレッドシートのシート・セルを参照することが可能です。
VLOOKUPをIMPORTRANGEと組み合わせ
このIMPORTRANGE関数をVLOOKUP関数とも組み合わせることができます。
VLOOKUP関数の構文は以下の通りです。
=VLOOKUP(検索キー,検索範囲,指数,FALSE)
この2つ目の引数である「検索範囲」にIMPORTRANGEを適用します。
=VLOOKUP(検索キー,IMPORTRANGE("スプレッドシートのURL", "対象シートのセル範囲"),指数,FALSE)
※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関数を使いたい場合にご参考ください。
ディスカッション
コメント一覧
=IMPORTRANGE(“https://docs.google.com/spreadsheets/d/1MrlXHTfTO8a5F-o3TxPQprsZ-Zz_m_237DW05_2JuGw/”,”注文データ!B1:E10″)
これはコピーすると数式エラーとなります.
最初の「”」が「”」になっているためです.改善をお願いします
>RK様
ご指摘ありがとうございます。
ブログ内で本来半角のダブルクオーテーションの表示が全角に自動変換されておりましたので、数式エラーになってしまいました。
記事内のIMPORTRANGE関数やVLOOKUP関数含め、数式が半角ダブルクオーテーションとして表示されるように修正いたしました。
よろしくお願いします。