假设我有下表:
A B C
1 Week 1 Week 2
2 Melissa 114.7 82.8
3 Mike 105.5 122.5
4 Andrew 102.3 87.5
5 Rich 105.3 65.2
名称在A列中,周值在第1行。(因此A1为空白,B1 = Week 1
,A2 = Melissa
。)
我试图构建一个公式来查看已知范围内的所有值(在本例中为B2:C5),选择最高值(此处为122.5
)和返回A列中具有该值的人员的姓名。如果我使用此公式,它适用于范围B2中的值:B5:
=INDEX(A2:A5,MATCH(MAX(B2:B5),B2:B5,0))
返回Melissa
,但如果我扩展范围以包含的不仅仅是B列的值,我会返回#N/A
:
=INDEX(A2:A5,MATCH(MAX(B2:C5),B2:C5,0))
奇怪的部分(对我的简单大脑)是公式的MATCH部分工作正常,如果我只是输入这个公式,它从C3返回122.5
的最高值:
=MAX(B2:C5,B2:C5,0)
当我使用MATCH或INDEX命令时,显然会出现问题。
希望这有道理,有人可以指出我的错误吗?
答案 0 :(得分:0)
做到“两次”?请尝试:
=INDEX(A2:A5,IFERROR(MATCH(MAX(B2:C5),B2:B5,0),MATCH(MAX(B2:C5),C2:C5,0)))
如果你需要长达52/53周的时间来应对,我建议改为为每一行插入一个带有MAX的辅助列。使一个新的(插入的)ColumnA(比如=MAX(C2:BC2)
等)和一个简单的VLOOKUP应该服务,比如说:
=VLOOKUP(MAX(A:A),A:B,2,0)
答案 1 :(得分:0)
试试这个:
=INDEX(A:A,MAX((B2:C5=MAX(B2:C5))*ROW(B2:C5)))
这是一个数组公式,必须使用 Ctrl + Shift + Enter 确认。
注意:匹配一次只能搜索一个矢量。它可以是一行或一列或一个数组。它不能是两行或更多行或列或2D数组。