使用“索引匹配”公式中的动态范围返回最大值

时间:2016-11-17 14:08:54

标签: excel vlookup

我有以下公式从我的数据中返回最大值/区域: = INDEX($ 1:$ 1,0,MATCH(MAX(2:2),2:2,0))

  |Col A  | Col B  | Col C  | ETC.
1 |       | Area 1 | Area 2 |
2 |Topic1 | 50.57  | 60.36  |
3 |Topic2 | 467.8  | 636.8  |
ETC.

在这种情况下,公式将返回60.36 / Area 2,具体取决于Index函数中使用的行。

但是,不能保证所有主题都会出现,所以我想使用动态行参考,而不是将其固定在例如2:2 - 也就是说,它不是简单的2:2而是寻找Topic1,找到该行中的最大值并返回区域或值(I' ll需要两者)。

我尝试过使用类似于= = INDEX($ 1:$ 1,0,MATCH(MAX(MATCH)(&#34; Topic1&#34;,A:A):MATCH(&#34) ;主题1&#34;,A:A)),(MATCH(&#34;主题1&#34;,A:A):MATCH(&#34;主题1&#34;,A:A)),0))<没有成功。

我强烈怀疑我错过了一些显而易见的东西,但任何帮助都会受到赞赏。

提前致谢。

编辑:排序回答了我自己的问题。如果它帮助其他任何人我以更好的格式重新组织我的数据(每行:Topic1 | Area1 |值)并使用= MAXIFS(C:C,A:A,F1)返回值和= INDEX(B:B) ,MATCH(MAXIFS(C:C,A:A,A1),C:C,0))返回区域名称。

EDIT2:可以确认XOR LX解决方案也有效 - 谢谢!

1 个答案:

答案 0 :(得分:2)

=INDEX($1:$1,0,MATCH(MAX(INDEX($1:$1048576,MATCH("Topic1",A:A,0),0)),INDEX($1:$1048576,MATCH("Topic1",A:A,0),0),0))

在零件中使用零作为column_num参数:

INDEX($1:$1048576,MATCH("Topic1",A:A,0),0)

强制该函数返回对整行的引用。也就是说,在这种情况下,以上解决方案:

INDEX($1:$1048576,2,0)

这相当于:

$2:$2

有关INDEX的此属性的详细信息,请参阅here

您还可以使用以下方式参考整个工作表:

$A:$XFD

取代:

$1:$1048576

虽然Excel在任何情况下都会在提交公式后将其转换为后者。

此致