GoogleスプレッドシートでVLOOKUP関数で別シートを参照する(importrangeと併用の仕方)

Excelとは違い、Googleシートで別シートの情報をVLOOKUP関数で取り込む時はimportrange関数を使う必要がある。

まずはVLOOKUPの基本から。VLOOKUPの使い方自体はExcelと同じ。

F2からI20の範囲の中の2列目の値を、同じシート内のC4の値を参照して該当する情報を取得する場合。

VLOOKUP(C4,$F$2:$I$20,2,FALSE)&””)

ポイントはコピー&貼り付けでも参照範囲が変わらないように$を付けること。末尾の&””は参照先に値が入ってない時に0を返さないようにするためのもの。

Excelの場合他シートを参照する場合は、

VLOOKUP(C4,ToDo!$F$2:$I$20,2,FALSE)&””)

と参照先の範囲指定の目に「シート名!」を付けるだけでできるが、グーグルスプレッドシートの場合は少しややこやしく、importrangeを使う。

Importrange(インポート先のシートのURL, シート名!参照するセルの範囲)

という引数の取り方をする。インポート先のシートのURLはシート右上の「シェア」のボタンをクリックして表示されるURLを使うのが一番確か。URLをコピーするだけでシェアする必要はなし。

(※画像は英語表示)

URLをコピーしたら使い方は以下のようになる。

VLOOKUP(C4,importrange(“https://docs.google.com/spreadsheets/d/1XHDDGDoV-ec9vZDDjp6UYLn_cfoyNiSgX_B1xnEQLTA/”, “ToDo!$F$2:$I$20″),2,FALSE)&””)

エラー値、#N/Aを返さないようにするためにIF関数を加えると下記のようになる。

=IF(ISERROR(VLOOKUP(C4,importrange(“https://docs.google.com/spreadsheets/d/1XHDDGDoV-ec9vZDDjp6UYLn_cfoyNiSgX_B1xnEQLTA/”, “ToDo!$A$1:$Z$100″),2,FALSE)),””,VLOOKUP(B2,importrange(“https://docs.google.com/spreadsheets/d/1XHDDGDoV-ec9vZDDjp6UYLn_cfoyNiSgX_B1xnEQLTA/”, “ToDo!$F$2:$I$20″),2,FALSE)&””)

ちなみに同じ行から複数列ではなく、他シートの1セルのみを参照したいだけの時はVLOOKUPは使わずimagerangeだけを使えばオーケー

Importrange(URL, C4);

Googleスプレッドシートの書籍はそんなにないけど、下の仕事で使えるシリーズのはさくっと調べられて活用しやすいからおすすめ。

https://support.google.com/docs/answer/3093340?hl=ja