公式返回列包含范围的MAX值的行的值
假设我有下表:
ABC 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
。)
我试图build立一个公式,看一个已知范围内的所有值(在这个例子中,B2:C5),select一堆的最高值(这里是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命令时会出错。
希望这是有道理的,有人可以指出我的错误?
尝试这个:
=INDEX(A:A,MAX((B2:C5=MAX(B2:C5))*ROW(B2:C5)))
这是一个数组公式,并且必须用Ctrl + Shift + Enter确认 。
注意:匹配一次只能search一个向量。 它可以是一行或一列或一个数组。 它不能是两个或多个行或列或二维数组。
做“两次”? 请尝试:
=INDEX(A2:A5,IFERROR(MATCH(MAX(B2:C5),B2:B5,0),MATCH(MAX(B2:C5),C2:C5,0)))
如果你将有52/53周来应付我会build议,而不是每行插入一个助理列MAX。 做一个新的(插入)ColumnA(说=MAX(C2:BC2)
等)和一个简单的VLOOKUP应该服务,说:
=VLOOKUP(MAX(A:A),A:B,2,0)