小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2025年6月24日【ID:0】

【Excel】VLOOKUPで「見つかった一番下の値」を抽出する方法

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


表からデータを検索して抽出する際に便利な関数に「VLOOKUP関数」があります。
しかし、この関数では、重複する値が存在する場合に、「上から順に最初に見つかった値」しか取得できません。

そこで今回は、VLOOKUP関数で「見つかった一番下の値」を抽出する方法について解説していきます。


1. 行番号を取得する補助列を追加

まずは、検索対象の表の左側に新しい列を追加し、以下の数式を入力します。

=IF(B3=$B$16,ROW(),"")

この数式は、「表の顧客IDが検索値(顧客ID)と一致する場合、その行の行番号を表示する」という内容です。
検索値(顧客ID)の参照は「$」を加えて絶対参照にしています。

この数式を、表の最後の行までコピーします。

これで該当する行のみ行番号を表示することができました。


2. 最大の行番号を使ってVLOOKUPで抽出

次に、検索結果を抽出するセルに、以下の数式を入力します。

=VLOOKUP(MAX(A3:A12),A3:D12,3,FALSE)

この数式は、「先ほど抽出した行番号の最大値の行にある3列目(購入日)を抽出する」という内容です。
これで一番下にある該当データを抽出することができます。

ExcelVBAレベル確認

Excel2021以降なら「XLOOKUP」が便利

Excel2021以降の環境の場合、XLOOKUP関数が使えます。
XLOOKUP関数は、VLOOKUP関数をさらに快適にした関数で、以下の数式1つで「見つかった一番下の値」を抽出することができます。

=XLOOKUP(B16,B3:B12,C3:C12,"",0,-1)

XLOOKUP関数についての詳しい解説は、以下の記事にて解説しています。
>VLOOKUP / INDEX・MATCH / XLOOKUP


まとめ

VLOOKUP関数単体では実現できないことでも、複数の関数を組み合わせることで解決できるケースは多くあります。

今回解説した「見つかった一番下の値を抽出する」方法もその一つです。
このテクニックを覚えておけば、実務でのデータ処理や分析の幅がぐっと広がります。

ぜひ、日々のExcel作業に取り入れてみてください。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

5985712

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ