検索・参照入門
VLOOKUP関数を見て理解する
表の左端列から検索値を探し、一致した行の指定した列の値を返す関数です。
3つのポイント
- 検索値を決める
- 表の左端列から探す
- 同じ行の指定列を返す
商品コードから価格を検索する
サンプル数式
- 検索値
- 範囲
- 列番号
- 検索方法
いまの結果:
先頭行:
入力・条件:4項目
- 検索値E2:「A003」
- 範囲A2:C6(5行 × 3列)先頭行:「A001」 | 「ペン」 | 150
- 列番号指定値:3
- 検索方法指定値:FALSE
A4で一致が確認されました。
サンプルデータ
※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | 商品コード | 商品名 | 価格 | 検索コード | 結果 | |
| 2 | A001 | ペン | 150 | 180 | ||
| 3 | A002 | ノート | 220 | |||
| 4 | A003 | ファイル | 180 | |||
| 5 | A004 | ハサミ | 450 | |||
| 6 | A005 | 付箋 | 120 |
E2に値を入力すると、結果と処理順が変わります。
4つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
E2表のセル: E2表の左端列から探したい値です。この例ではE2の「A003」を使います。
A2:C6表のセル: A2:C6検索する左端列と、返したい列を含む表全体です。
3指定値範囲の左端を1列目として、左から何列目の値を返すかを指定します。この例では3列目です。
FALSE指定値FALSEを指定すると、検索値と完全に一致する値だけを探します。
この数式を日本語にすると
E2のA003をA2:C6の左端列から探し、一致した行の左から3列目の値をF2に表示します。
この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。
処理の流れ
手順1〜5を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。
検索値を確認する
E2E2の「A003」を確認します。
表の左端列を確認する
A2:A6A2:A6を検索対象にします。
一致する行を探す
A4A4が検索値と一致します。
同じ行の指定列を取得する
C4A2:C6の左から3列目にあたるC4の180を取得します。
結果を表示する
F2F2に180を表示します。
対応アプリ
- Excel
- Google スプレッドシート
関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。
この例の注意点
- VLOOKUPは、指定した範囲の左端列から検索値を探します。
- 第3引数の列番号は、指定範囲の左端を1列目として、左から何列目の値を返すかを指定します。
- このサンプルでは、FALSEを指定した完全一致検索のみを扱います。
- 検索値が見つからない場合、この例の結果は #N/A です。
- TRUEまたは第4引数を省略した近似一致は、今回扱いません。
一般構文
対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり
- 完全一致検索で全角・半角の文字列を比較する場合、Excelは幅の違いを区別しますが、Google スプレッドシートは同値として扱うケースがあります。
Excel
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])[] は省略できる引数です。
省略時
range_lookup→ TRUE省略すると近似一致です。検索範囲の先頭列を昇順に並べて使います。
Google スプレッドシート
=VLOOKUP(search_key, range, index, [is_sorted])[] は省略できる引数です。
省略時
is_sorted→ TRUE省略すると、昇順の範囲から近似一致で検索します。
公式資料・確認範囲
公式資料
- Microsoft Excel 公式構文
- Google スプレッドシート 公式対応状況・構文・省略時の扱い
実機確認
- Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み
未確認
配列展開
次に学ぶ関数
XLOOKUP
左端の列と列番号で返す次は、探す範囲と返す範囲を分けて指定します。
次に学ぶ