我需要一个单元格来显示一个范围的最大值,该范围的行由索引和匹配公式定义。我知道这将是一个数组函数,但我正在努力使语法正确。这是我的数据的样子。我把它列在列字母和行号上,就像Excel一样。
使用下表作为参考,在第二个表中。当我在单位b
和A1
列y
中输入B1
时,单元格C1
中的公式应该返回值35
,因为35
是C:F
和A1
使用B1
和INDEX
确定的行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
现在......我想要做的是创建一个公式,在与单独表格中给出的C
和F
中的值匹配的行中,通过A
找到列B
的最大值。对于此示例,我们将在单元格C1
中编写公式。根据列C
和列F
(公式告诉我们的是行A = b
)的匹配,公式应该取B = y
到4
的最大值。在这种情况下我想要的值是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
的数组部分中时,问题似乎就来了。这有什么办法吗?也许我应该使用一组完全不同的功能?
您不需要索引匹配公式。您可以使用此数组公式。输入公式后,必须按CTL + SHIFT + ENTER。
=MAX(IF((A1:A6=A10)*(B1:B6=B10),C1:F6))
快照
当您查找最大值时,可以轻松地将匹配类型更改为1,或者在查找最小值时,可以将-1更改为-1。