Excel - 带优先级的 vlookup

Excel - 带优先级的 vlookup

我有一张包含以下数据的 Excel 表:

-----------------------------------------
| Unique line ID  | ID | Status         |
|---------------------------------------|
| 1               | AA | active         |
| 2               | AA | upgraded       |
| 3               | AA | out of service |
| 4               | AB | ...            |
-----------------------------------------

我还有另一张表,其中只有ID,我需要匹配Status,但我想优先考虑它并拥有最新的,即按排序的最大的一个Unique line ID

因此在这个例子中AA,我需要匹配状态out of service

答案1

使用 INDEX/MATCH 与 Aggregate 来获取最大唯一 ID:

=INDEX($C$2:$C$5,MATCH(AGGREGATE(14,6,$A$2:$A$5/($B$2:$B$5=E2),1),$A$2:$A$5,0))

在此处输入图片描述

答案2

可能是这样的,它会找到最后一个值(您的数据应该按 ID 排序在此处输入图片描述

谢谢

答案3

如果你想让你的公式简短且易于理解:

步骤1:

ID在合并了Unique line ID和 的列旁边添加一列ID。如果数据如下表所示,C2则在单元格 上输入公式=A2&B2并将其向下拖动。此列稍后可以隐藏。

步骤1

第2步:

在第二张表的第一个状态单元格中输入以下内容数组公式并根据需要将其向下拖动。

=VLOOKUP(MAX(IF(B:B=F2,A:A))&F2,C:D,2,FALSE)

笔记:当您在第一个单元格中输入此内容时,由于它是一个数组公式,所以不要Enter按,而是按CTRL++ 。执行此操作后,它将如屏幕截图中所示出现。SHIFTEnter{}

第2步

相关内容