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

2024年5月31日

English version.

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完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド

本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。

【本書の特徴】

  • 情報量:Word-A4サイズ換算で1,400ページ相当
  • 基本操作から高度なテクニックまで、段階的に学習可能
  • 140種類の関数を詳細に解説
  • 109種類の実用的なテクニックと具体例を紹介
  • 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説

【対象読者】

  • Excel初心者からプロフェッショナルまで
  • 体系的にExcelスキルを向上させたい方
  • 業務効率化を目指すビジネスパーソン
  • データ分析や可視化のスキルを磨きたい方

【本書の強み】

  • 実務に即した例題と解説
  • 視覚的な図表やスクリーンショットで理解を促進
  • 最新のExcelバージョンに対応した内容
  • 著者の長年の経験に基づく、実践的なTipsを多数収録

【更新とサポート】

  • 常に最新の情報を反映するため、定期的に内容を更新
  • 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください

【入手方法】

  • 買い切り:950円
  • Kindle Unlimited:読み放題プランで利用可能

Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。

関連記事

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

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