条件に一致する最後(最新)のデータを取得する方法は?
結論
LOOKUP関数で配列数式を使うことで、条件に一致する最後のデータを取得できます。
詳しい解説
LOOKUP関数を使うことで、条件に一致する最後(最新)のデータを取得できます。パターンは`=LOOKUP(2, 1/(A:A=G2), B:B)`で、顧客ID(A列)が一致する最新の注文日(B列)を取得します。全バージョンで使用可能です。LOOKUP関数は昇順ソートされた配列で動作するため、配列数式(1/(条件))を使って条件判定します。Excel 2021以降では`=XLOOKUP(G2, A:A, B:B, , 0, -1)`で末尾から検索する方が分かりやすく記述できます。
執筆・検証:田中 けんた|Excel歴15年・MOS資格保持
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 対応 | 対応 | 対応 | 対応 | 対応 |
実務での使用例
顧客IDの最新注文日を取得
同じ顧客IDが複数行ある場合、最後(最新)の注文日を取得
=LOOKUP(2, 1/(A:A=G2), B:B)商品コードの最終在庫数を参照
履歴データから特定商品コードの最後の在庫数を取得。時系列データの最新値取得に便利
=LOOKUP(2, 1/(B:B=H2), C:C)