GoogleスプレッドシートのVLOOKUP関数の使い方と具体例
GoogleスプレッドシートのVLOOKUP関数の使い方をわかりやすく解説。FALSEによる完全一致、別シートや別ファイル(IMPORTRANGE)の参照、#N/Aエラー対策、XLOOKUPやARRAYFORMULAの活用法まで網羅。
著者 Ayoub Farid · · 4 分で読めます
GoogleスプレッドシートのVLOOKUP関数は、Excelとまったく同じように動作します。表の左端の列から特定の値を検索し、同じ行の指定した列にあるデータを取り出すことができます。
構文
=VLOOKUP(search_key, range, index, [is_sorted])
- search_key(検索キー): 探したい値
- range(範囲): 検索対象の表(検索列を必ず一番左端にします)
- index(指数): 取得したい列番号(範囲の一番左の列を1と数えます)
- is_sorted(並べ替え済みか): 完全一致で検索する場合は FALSE を指定します(通常はFALSEを使用します)
具体例
A列に商品コード、B列に商品名、C列に価格が入力されており、F2セルに検索したい商品コードが入っている場合:
=VLOOKUP(F2,$A$2:$C$100,3,FALSE)
数式をオートフィルで下にコピーする前に、セル範囲を「$」で固定して絶対参照にしておきましょう。詳しくはスプレッドシートの絶対参照の使い方をご覧ください。
別のシート(タブ)から検索する
=VLOOKUP(F2,Prices!$A$2:$C$100,3,FALSE)
シート名にスペースが含まれる場合は、'Price list'!$A$2:$C$100 のようにシングルクォーテーションで囲む必要があります。
別のスプレッドシートファイルから検索する
=VLOOKUP(F2,IMPORTRANGE("spreadsheet_url","Prices!A2:C100"),3,FALSE)
初回のみ、外部シートへの「アクセスを許可」するかどうかの確認メッセージが表示されます。
データが見つからない場合の処理
=IFERROR(VLOOKUP(F2,$A$2:$C$100,3,FALSE),"Not found")
#N/Aエラーの対処法
原因はExcelの場合と同様です。不要な前後のスペース、文字列として保存された数値、引数「FALSE」の指定忘れ、検索列が範囲の一番左にない、などが考えられます。詳細はVLOOKUPが機能しない原因と解決策をご覧ください。
スプレッドシートのXLOOKUP関数
GoogleスプレッドシートでもXLOOKUP関数が使えます:
=XLOOKUP(F2,$A$2:$A$100,$C$2:$C$100,"Not found")
左側の列を検索して値を取得することも可能で、列番号を数える必要もありません。詳しくはXLOOKUPの使い方をご覧ください。
列全体をまとめて検索する
=ARRAYFORMULA(IFERROR(VLOOKUP(F2:F50,$A$2:$C$100,3,FALSE),""))
詳しくはARRAYFORMULAの使い方をご覧ください。
よくある質問
GoogleスプレッドシートでVLOOKUP関数を使うにはどうすればよいですか?
=VLOOKUP(検索キー,範囲,列番号,FALSE) と記述し、検索する列がセル範囲の左端になるように指定します。
VLOOKUPで別のシートを検索できますか?
はい、同じファイル内の別タブであればシート名を指定して直接参照できます。別ファイルのスプレッドシートの場合は IMPORTRANGE 関数と組み合わせて検索可能です。
GoogleスプレッドシートのVLOOKUPは大文字と小文字を区別しますか?
区別しません。
GoogleスプレッドシートでXLOOKUPは使えますか?
はい、Excelと同じ構文で問題なく使用できます。