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

2019年9月30日

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,検索値のセル,"")

新関数XLOOKUP関数の場合

なお2019年後半にXLOOKUP関数という

かなり便利な上位版がリリース予定です。

こちらでは検索モードによって

コントロールできるかもしれません。

関連記事

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

使用した関数の詳細

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

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

フォローする