日付順に並んでいない表から最新の行を探すには、まずMAXで最大の日付を求め、その日付をXLOOKUPで検索します。商品ごとに最新の行が欲しい場合はMAXIFSで日付を絞り込み、商品と日付の両方を条件にします。
最新日付と同じ行の値を返す
A2:A6が日付、B2:B6が商品、C2:C6が入荷数です。説明図では年を2026年にそろえています。


まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
商品ごとの最新日付を求める
E2にりんごを入力し、F2でその商品の最新日付を計算します。
商品と最新日付の2条件で行を特定する
G2などの空きセルに次の式を入れます。

最新日付の全行が欲しい場合
VLOOKUPで検索する場合
【実機で検証】最新日付を探す式の落とし穴
最新日付を探す式を、同じ日付が複数ある表や、文字の日付が混ざった表で試しました。

| 場面 | 結果 | 対処 |
|---|---|---|
| 同じ最新日が 2 行ある | 上の行だけ返す | 下の行なら第6引数に -1、全部なら FILTER |
| 文字の日付が混ざっている | MAX が無視する(エラーなし) | 文字の日付を日付に変換する |
| 該当する商品がない | MAXIFS は 0。日付の表示では 1900/1/0 | IF で 0 のときの表示を決める |
| 最新日に時刻が付いている | INT(MAX(…)) で探すと見つからない | MAX の結果のまま探す |
文字の日付は、エラーが出ないまま無視されます。試した表では、文字で入れた 2026/12/31 ではなく、2026/10/3 が最新日になりました。結果がおかしいときは、日付の列に文字が混ざっていないかを確かめます。
日付が文字列・時刻付きの場合
下から検索するだけでよい履歴表は最後に一致する行を検索する方法、日付が一致しない問題は日付検索のエラー対策をご覧ください。
次に読むと理解が深まる記事
参考:Microsoft公式ドキュメント MAX / MAXIFS / XLOOKUP
関数ごとの詳しい使い方は、MAX関数・TODAY・NOW関数・DATE関数で、実際の Excel の画面と練習用ファイルつきで説明しています。
日付や期間で表を検索するときは、Excelで日付・期間を検索する方法もあわせてご覧ください。
最新の日付のデータを抽出するときのよくある質問
エクセルで最新の日付のデータを抽出するVLOOKUPの式は?
=VLOOKUP(MAX(A2:A6),A2:C6,3,FALSE)です。MAXで最新の日付を求めて検索値にし、表の3列目(入荷数)を返します。商品の条件は組み合わせていないので、表全体の最新日付に対する先頭の1件です。
MAXIFSで商品ごとの最新の日付を求めるには?
=IF(COUNTIF(B2:B6,E2)=0,"",MAXIFS(A2:A6,B2:B6,E2))と書きます。商品E2の行だけを対象に、日付の最大値を求めます。該当する行が無いとMAXIFSは0を返すため、先に件数を確認しています。MAXIFSはExcel 2019以降・Microsoft 365で使えます。
同じ最新の日付が2行あるときは、どの行が返りますか?
XLOOKUPは上の行だけを返します。下の行が欲しいときは第6引数に-1を指定します。全部の行が欲しいときは=FILTER(A2:C6,A2:A6=MAX(A2:A6),"該当なし")で、最新日の行をすべて取り出します。

コメント