公式返回列包含范围的MAX值的行的值

时间:2015-11-10 21:17:30

标签: excel excel-formula

假设我有下表:

  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命令时,显然会出现问题。

希望这有道理,有人可以指出我的错误吗?

2 个答案:

答案 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数组。