Excel VLOOKUP関数で最後に一致する結果を取得する方法

VLOOKUP関数の検索条件に

合致する結果が複数ある場合は

最初に一致する結果が表示されます。

この記事では最初でなく

最後に一致する結果を

取得する方法を紹介します。

手順

下記のサンプルで説明します。

D列とE列が検索される表で、

H列がVLOOKUP関数の列です。

通常のVLOOKUP関数の使用では

検索値に1を指定すると

最初に合致する「織田」、

2は「伊達」、3は「毛利」になります。

サンプル表

COUNTIFS関数の列を追加します。

COUNTIF関数を使い慣れていれば

そちらを使っても構いませんが

最新のバージョンでは

IFS系の関数の方が多いため

基本的にはIFSの方を使うと

混乱がないでしょう。

(実用上はどちらでもよいです)

関数はこのように記述します。

COUNTIFS(検索する範囲を相対指定,検索値)

検索条件範囲(引数1)に

VLOOKUP関数の範囲と

同じものを指定しますが

$を付けずに相対指定にします。

すると最後に登場した№が1になります。

COUNTIFS関数を使用して同一№を逆順に連番付与

次にIF関数の列を追加します。(D列)

IF(COUNTIFS関数のセル=1,検索値のセル,"")

COUNTIF関数の結果が1の場合のみ

№を表示し、それ以外は空白にします。

すると同一№中で最後に登場する物のみ

IF関数の結果として表示されます。

IF関数でCOUNTIFS関数の結果が1の場合のみ№を表示する

このIF関数の列を検索対象にして

VLOOKUP関数を作成すれば完成です。

(J8~L11セル)

IF関数を検索対象にしてVLOOKUP関数を追加して完成

この記事では説明のため

IF関数とCOUNTIFS関数を分けましたが

実用の際は一つのセルにしても構いません。

IF(COUNTIFS(検索する範囲を相対指定,検索値)=1,検索値のセル,"")

関連記事

使用した関数の詳細

複数の条件に一致するセルの件数を取得(COUNTIFS関数)

IF系関数の使い方・活用方法の記事一覧

VLOOKUP関数の使い方・活用方法の記事一覧