VLOOKUP関数:指定の列を縦方向に検索し同じ行にある値を取得する

VLOOKUP 関数は Excel で用意されている関数の一つで、指定した範囲を縦方向に検索し、見つかった行の指定した列の値を取得します。ここでは Excel における VLOOKUP 関数の使い方について解説します。

※ Microsoft 365 以降であれば XLOOKUP 関数が利用可能です。詳しくは「XLOOKUP関数:指定の範囲を検索し対応する位置にある値を取得する」を参照されてください。

※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007

(Last modified: )

VLOOKUP関数の定義

VLOOKUP 関数は引数に指定した範囲の中を縦方向に検索し、見つかった場合はその行の中の指定した列の値を取得します。

VLOOKUP(検索値,範囲,列番号,検索方法)

1 番目の引数に検索する値を指定します。 2 番目の引数に検索を行うセル範囲を指定します。ここで指定したセル範囲の 1 列目を対象に検索します。

3 番目の引数には検索する値が見つかった場合に取得する列の番号を指定します。列番号は指定した範囲内の左から数えて何列目なのかを数値で指定し、一番左の列番号が 1 です。

4 番目の引数には完全一致だけを行うか、近い値でも見つかったことにするのかを表す論理値を指定します。完全一致を行う場合は FALSE 、近似値での検索を行う場合は TRUE を指定します。省略した場合は TRUE が指定されたものとして扱います。

VLOOKUP 関数は次のようなデータを対象として、型番号で検索して見つかった場合に該当する商品名や単価を取得する場合に利用されます。

VLOOKUP関数の定義(1)

まず指定した範囲の 1 列目のデータを縦方向に検索します。

VLOOKUP関数の定義(2)

一致するデータが見つかった場合、同じ行の指定した列番号のデータを取得します。

VLOOKUP関数の定義(3)

このように VLOOKUP 関数を使用することで、 1 行目のデータを検索して同じ行にある別のデータを取得することができます。

近似値を含めて検索する

VLOOKUP 関数の 4 番目の引数に TRUE を指定すると、完全に一致した値が見つからなかった場合に検索する値以下の最大のデータと一致したものとみなし、指定の列番号の値を返します。この近似値を含めて検索する場合は、検索が行われる指定範囲の 1 列目のデータを昇順で入力してください。

近似値を含めて検索する(1)

それでは実際に試してみます。 C11 セルを選択したあとで次のように入力します。 4 番目の引数に近似値を含めて検索するように TRUE を指定してください。

=VLOOKUP(B11,B3:C7,2,TRUE)

近似値を含めて検索する(2)

それでは B11 セルに検索する家賃を入力してください。今回は完全に一致する値が存在しない 23000 を入力しました。すると一致する値は見つかりませんが、入力した値以下の最大の値である 20000 のデータと一致したものとして指定の列のデータを取得しました。

近似値を含めて検索する(3)

VLOOKUP関数の使い方

それでは実際に VLOOKUP 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

VLOOKUP関数の使い方(1)

最初に C11 セルを選択したあとで次のように入力します。検索する値を指定する 1 番目の引数には B11 セル、対象のセル範囲を指定する 2 番目の引数には B3:D7 、見つかった場合に取得する列番号を指定する 3 番目の引数に 2 、完全一致の場合だけ値を取得するため 4 番目の引数には FALSE をそれぞれ指定しました。

=VLOOKUP(B11,B3:D7,2,FALSE)

VLOOKUP関数の使い方(2)

同じように D11 セルを選択したあとで次のように入力します。今度は見つかった場合に取得する列番号として 3 を指定しています。

=VLOOKUP(B11,B3:D7,3,FALSE)

VLOOKUP関数の使い方(3)

現在は検索する値を入力する B11 が空のため、 VLOOKUP 関数は一致する値が見つからないため #N/A を返します。それでは B11 セルに検索する型番号を入力してください。表の中で入力した型番号が見つかった場合は、該当する商品名と単価を表示します。

VLOOKUP関数の使い方(4)

VLOOKUP関数の使い方(5)

B11 セルに違う型番号を入力すると、該当する商品名と単価を表示します。

VLOOKUP関数の使い方(6)

VLOOKUP関数の使い方(7)

検索する値が見つからなかった場合にエラー値の代わりに別の値を表示する

VLOOKUP 関数では指定した範囲の 1 列目に指定した語句が見つからなかった場合はエラーとなり #N/A を返します。

検索する値が見つからなかった場合にエラー値の代わりに別の値を表示する(1)

見つからなかった場合にエラー値を表示するのではなく、指定した文字列を代わりに表示するには IFNA 関数を合わせて使用します。先ほど C11 セルに入力した関数を次のように書き換えてください。

=IFNA(VLOOKUP(B11,B3:D7,2,FALSE),"-")

検索する値が見つからなかった場合にエラー値の代わりに別の値を表示する(2)

これでもし見つからなかった場合は #N/A と表示する代わりに "-" が表示されます。

検索する値が見つからなかった場合にエラー値の代わりに別の値を表示する(3)

VLOOKUP関数の便利な利用方法

VLOOKUP 関数の便利な利用方法を下記の記事で紹介しています。

-- --

Excel における VLOOKUP 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。