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

2021年11月6日

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関数単体で実現できるため非常に便利になっています。

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

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

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