Excel VLOOKUP関数で最後の値を取得(後ろから検索)する方法

2020年1月30日

VLOOKUP関数の検索条件に

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

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

この記事では最初でなく最後に一致する結果を

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

手順

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

D列とE列が検索される表で、H列がVLOOKUP関数の列です。

通常のVLOOKUP関数の使用では検索値に1を指定すると

最初に合致する「織田」、2は「伊達」、

3は「毛利」になります。

サンプル表

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

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

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

最新のバージョンではMAX関数MIN関数

MAXIFS関数MINIFS関数のみ追加されているため

(Sなしはオミット)

MAXIFS関数MINIFS関数を使うと混乱がありません。

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

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

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

検索条件範囲(引数1)にVLOOKUP関数の範囲と

同じものを指定しますが

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

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

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

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

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

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

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

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

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

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

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

VLOOKUP関数を作成すれば完成です。(J8~L11セル)

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

この記事では説明のため

IF関数COUNTIFS関数のセルを分けましたが

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

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

XLOOKUP関数の場合

XLOOKUP関数の場合は引数:検索モード

最初か最後かを取得かを指定可能です。

IF関数COUNTIFS関数を使わずに

XLOOKUP関数単体で実現できるため

非常に便利になっています。

関連記事

「VLOOKUP関数 複数」についてのガイド

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