返回由索引和匹配查找确定的范围的最大值

问题描述 投票:7回答:2

我需要一个单元格来显示一个范围的最大值,该范围的行由索引和匹配公式定义。我知道这将是一个数组函数,但我正在努力使语法正确。这是我的数据的样子。我把它列在列字母和行号上,就像Excel一样。

使用下表作为参考,在第二个表中。当我在单位bA1y中输入B1时,单元格C1中的公式应该返回值35,因为35C:FA1使用B1INDEX确定的行MATCH列中的最大值

表格1。

     A      B      C     D     E     F
1    a      x      25    6     23    11
2    a      y      39    15    42    19
3    b      x      28    34    51    24
4    b      y      27    19    15    35
5    b      z      38    26    12    18
6    c      x      12    19    22    15

现在......我想要做的是创建一个公式,在与单独表格中给出的CF中的值匹配的行中,通过A找到列B的最大值。对于此示例,我们将在单元格C1中编写公式。根据列C和列F(公式告诉我们的是行A = b)的匹配,公式应该取B = y4的最大值。在这种情况下我想要的值是35,因为它是行C:F上的4列(4)的最大值。

这是我的第二个表应该是这样的公式在行C

表2。

     A      B      C
1    b      y      35
2    a      x      25
3    b      z      38
4    c      x      22

我试过这个:(公式在表2中,所以它没有在公式的匹配部分中显式声明。你还必须熟悉excel中的表才能得到它)

 =INDEX(MAX(Table1[C]:Table1[F]),MATCH([@A]&[@B],Table1[A]&Table1[B],0))

然后我用Control + Shift + Enter将它包装到Array它。

当我把MAX函数放在INDEX的数组部分中时,问题似乎就来了。这有什么办法吗?也许我应该使用一组完全不同的功能?

excel excel-formula max excel-2010 excel-match
2个回答
13
投票

您不需要索引匹配公式。您可以使用此数组公式。输入公式后,必须按CTL + SHIFT + ENTER。

=MAX(IF((A1:A6=A10)*(B1:B6=B10),C1:F6))

快照


0
投票

当您查找最大值时,可以轻松地将匹配类型更改为1,或者在查找最小值时,可以将-1更改为-1。

© www.soinside.com 2019 - 2024. All rights reserved.