用于查找最后一个值实例的查找公式不起作用

Lookup formula to find last instance of value not working

假设单元格 A1 = John
B 列:[John、Terry、Mike、Dana、John、Moe]
C 列:[1、2、3、4、5、6]

我的尝试

=LOOKUP(2,1/($B:$B=$A),$C:$C)

预期结果:5
实际结果:"N/A":在 vlookup

中未找到值 2

表格中的备选方案,假设您在 C 列中有序号:

=ArrayFormula(max((A1=B1:B6)*C1:C6))

如果 C 列不是连续的或数字的,则:

ArrayFormula(index(C1:C6,(max((A1=B1:B6)*ROW(C1:C6)))))

以上公式也适用于 EXCEL(通过使用 CSE 而不是 ArrayFormula),但 Excel 中的 LOOKUP 方法更简单。

您的公式有效,但您必须将其作为数组公式输入!

=ArrayFormula(LOOKUP(2,1/($B:$B=$A),$C:$C))

备注:

  1. 如果找不到 $A$1 值,此公式将 return #N/A。因此,如有必要,请包装在 IFERROR() 中。
  2. 根据用法 COUNTA()COUNTA()+INDEX() 可能会在 shorter/not 需要 ArrayFormula。