公式匹配多个date,并抓住最近的

我有一个两列的数据表。 第一列有一个项目ID列表,第二列有一些与这些项目相关的date。 一个项目可以有多个与之相关的date。

我想创build一个单独的两列的汇总表。 第一列将是一个独特的项目ID列表(我已经能够做到这一点与索引/匹配function)。 我希望第二列searchdate列,并确定与每个项目关联的最近date。

是否有可能使用标准的Excel公式创build我的汇总表的第二列,而不使用任何VBA? 一两个小时后,我不相信这是可能的。

我希望,对于给定的项目ID,可能有办法做到以下几点:

– >确定包含给定项目ID的所有行的行号;

– >使用此行号信息从date列中获取相应的单元格值(大概是先构build一个单元格引用列表)

– >显示返回的最大date。

我的电子表格是什么样的

AGGREGATE¹函数可以快速计算一个伪MAXIF函数。

在E2中作为标准公式,

=AGGREGATE(14, 6, (B$1:INDEX(B:B, MATCH(1E+99,B:B)))/(A$1:INDEX(A:A, MATCH(1E+99,B:B ))=D2), 1) 

根据需要填写。

像SUMPRODUCT函数一样 ,AGGREGATE也可以引用必要的最小行数。 MATCH(1E+99,B:B)在列B的daes范围内截断由INDEX函数引用的每一列。


¹AGGREGATEfunction是在Excel 2010中引入的。它在早期版本中不可用。