【问题标题】:Using a dynamic range in a Index Match formula to return the max value在索引匹配公式中使用动态范围返回最大值
【发布时间】:2016-11-17 14:08:54
【问题描述】:

我有以下公式可以从我的数据中返回最大值/它的面积: =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 / 面积 2,具体取决于 Index 函数中使用的行。

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

我尝试过使用类似
=INDEX($1:$1,0,MATCH(MAX(MATCH("Topic1",A:A):MATCH("Topic1",A:A)),( MATCH("Topic1",A:A):MATCH("Topic1",A:A)),0))
没有成功。

我强烈怀疑我遗漏了一些明显的东西,但我们将不胜感激。

提前致谢。

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

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

【问题讨论】:

    标签: excel vlookup


    【解决方案1】:

    =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 无论如何都会将其转换为后者。

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-17
      • 1970-01-01
      • 2021-05-01
      相关资源
      最近更新 更多