如何使用多个标准进行Vlookup,其中一个标准是最大date?

我有一个数据范围:

ABCDE mx 01Feb2014 c 23 nx 10Apr2014 d 36 nx 10Feb2014 d 39 rx 10May2014 e 43 tz 10Jan2014 d 36 ty 10Jan2014 d 36 

现在我想find列E中的值,其中“x”在列B中,“d”是列D,并且在列C中具有最大date,

我尝试:

 =INDEX($E:$E,MATCH(1,(($B:$B="x")*($D:$D="d")),0)) 

但我不知道如何处理最高date标准?

这是一个可以使用聚合函数的解决scheme

有两个部分来解决。

第1部分)查找列B =“x”和列D =“d”的最大date

 =AGGREGATE(14,6,$C$2:$C$7/((B2:B7="x")*(D2:D7="d")),1) 

这会给你最大的date。

也是一个伟大的video观看,以更好地了解公式如何工作https://www.youtube.com/watch?v=H2XCI8Gvz9k

第2部分)查找可以使用SUMIFS的值

 =SUMIFS($E$2:$E$7,$B$2:$B$7,"x",$D$2:$D$7,"d",$C$2:$C$7, AGGREGATE(14,6,$C$2:$C$7/((B2:B7="x")*(D2:D7="d")),1)) 

其中第一个公式的部分形成最高date的标准。

您可以根据需要调整范围,但是根据上表得出max date = 10Apr2014和36的结果。

Lookup仍然可以工作,如果我们build立一个新的列F = concat(B, ":", D, ":", C)

我们正在search的值= concat("x:d:", max(C))

然后我们做lookup

 lookup(concat("x:d:", max(C)), F, E) 

这都是伪代码,但是这个想法就在那里。 对不起,这是未经testing,因为我没有安装Excel。