用于查找最后一个值实例的查找公式不起作用
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))
备注:
- 如果找不到 $A$1 值,此公式将 return #N/A。因此,如有必要,请包装在 IFERROR() 中。
- 根据用法 COUNTA() 或 COUNTA()+INDEX() 可能会在 shorter/not 需要 ArrayFormula。
假设单元格 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
表格中的备选方案,假设您在 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))
备注:
- 如果找不到 $A$1 值,此公式将 return #N/A。因此,如有必要,请包装在 IFERROR() 中。
- 根据用法 COUNTA() 或 COUNTA()+INDEX() 可能会在 shorter/not 需要 ArrayFormula。