我正在寻找一种方法来查找A,B列中条目的最后一个实例,并从C,D列中获取相应的值
在下面的例子中,Henry的值是1374,Amy的值是1124
Name1对应于Value1,Name2对应于Value2。 是否有公式可以从Name1和Name2列中找到最后一个条目并返回相应的Value1或Value2
粘贴原始数据如下:
<button (click)="changeColors()">Change colors<button/>
<table>
<tr *ngFor="let item in items;let i=index" [style.color]="item.color">
...
</tr>
</table>
答案 0 :(得分:2)
<强>假设:强>
数据网格位于单元格A1:D8
中。
价值观&#34;亨利&#34; &安培; &#34;艾米&#34;在单元格A10
&amp;分别为A11
。
公式实施:
在单元格B10
中实施以下公式。
备选方案1:
=INDEX($C$2:$D$8,MAX(IFERROR(LOOKUP(2,1/($A$2:$A$8=A10),ROW($A$2:$A$8)),-1),IFERROR(LOOKUP(2,1/($B$2:$B$8=A10),ROW($B$2:$B$8)),-1))-1,IF(IFERROR(LOOKUP(2,1/($A$2:$A$8=A10),ROW($A$2:$A$8)),-1)>IFERROR(LOOKUP(2,1/($B$2:$B$8=A10),ROW($B$2:$B$8)),-1),1,2))
备选方案2(略短于1):
=INDEX($C$2:$D$8,LOOKUP(2,1/SEARCH(A10&",",$A$2:$A$8&","&$B$2:$B$8&",",1),ROW($A$2:$A$8))-1,IF(IFERROR(LOOKUP(2,1/($A$2:$A$8=A10),ROW($A$2:$A$8)),-1)>IFERROR(LOOKUP(2,1/($B$2:$B$8=A10),ROW($B$2:$B$8)),-1),1,2)).
根据需要进行复制。
注意MAX()
函数之后的-1值,用于调整行号。考虑到数据从第n行开始,它应该总是n-1。
答案 1 :(得分:2)
略短:
= INDEX($C$1:$D$8,MAX(IF($A$1:$B$8=A10,ROW($A$1:$B$8))),MATCH(A10,
INDEX($A$1:$B$8,MAX(IF($A$1:$B$8=A10,ROW($A$1:$B$8))),0),0))
请注意,这是一个数组公式,因此您必须按 Ctrl + Shift + Enter 而不是 Enter 输入公式后。
请参阅下面的工作示例。
答案 2 :(得分:2)