在行

时间:2017-04-04 12:16:32

标签: excel indexing lookup

我在获取Excel公式时遇到问题,该公式在相邻行中满足两个条件时返回列中值的最后一个实例。

在虚拟示例中,我记录了我与哪些宠物一起进行的活动。见下图。

Workbook screen shot

我想要一个公式告诉我上次与特定宠物进行特定活动的时间。

例如,我什么时候最后一次按摩我的青蛙?或者我最后一次刷猫?

在B2或=INDEX(B:B,SUMPRODUCT(MAX((Pet=A2)*ROW(Pet)))) B3中使用=LOOKUP(2,1/(Pet=A3),B8:B13)我可以让Excel告诉我上次与特定宠物进行 活动的时间。

但我想知道我上次与特定宠物进行特定活动的时间。

任何帮助都非常感激。

2 个答案:

答案 0 :(得分:0)

考虑到你的数据在A7:C13范围内,包括标题和宠物名称列在A2:A4中,那么试试这个......

要获得服务日期, 在B2

=MAX(INDEX(($A$8:$A$13=A2)*$B$8:$B$13,))

并复制下来。

然后 在C2

=IF(ISNUMBER(MATCH(1,INDEX(($A$8:$A$13=$A2)*($B$8:$B$13=$B2)*($C$8:$C$13=C$1),),0)),"True","")

并反复复制。

答案 1 :(得分:0)

将此公式放入B2并向下拖动到B4:

=INDEX(B:B,AGGREGATE(14,6,ROW($B$8:$B$13)/($A$8:$A$13=$A2),1),1)

将此公式放在C2中,拖动到E2,然后向下拖动下两行:

=IFERROR(INDEX($B:$B,AGGREGATE(14,6,ROW($B$8:$B$13)/(($A$8:$A$13=$A2)*($C$8:$C$13=C$1)),1),1),"-")

enter image description here

这一切都假定您的日期都是按时间顺序输入的。