我需要一个单元格来显示一个范围的最大值,该范围的行由索引和匹配公式定义。我知道这将是一个数组函数,但我正在努力使语法正确。这是我的数据的样子。我把它列在列字母和行号上,如Excel。
使用下表作为参考,在第二个表中。当我在单元格b
中输入A1
而在列y
中输入B1
时,单元格C1
中的公式应返回值35
,因为{{ 1}}是35
和C:F
使用A1
和B1
INDEX
列中的最大值
表1。
MATCH
现在......我想要做的是创建一个公式,在与 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
的最大列数{1}}在单独的表中给出。对于此示例,我们将在单元格A
中编写公式。根据列B
和列C1
(公式告诉我们的是行C
)的匹配,公式最多应为F
到A = b
。在这种情况下,我想要的值是B = y
,因为它是行4
上4列(35
)的最大值。
这是我的第二个表应该是这样的,公式在行C:F
表2。
4
我试过这个:(公式在表2中,因此未在公式的匹配部分中显式声明。您还必须熟悉excel中的表才能获得它)
C
然后用 Control + Shift + 输入包装它到Array。
当我将 A B C
1 b y 35
2 a x 25
3 b z 38
4 c x 22
函数放在 =INDEX(MAX(Table1[C]:Table1[F]),MATCH([@A]&[@B],Table1[A]&Table1[B],0))
的数组部分中时,问题似乎就来了。这有什么办法吗?也许我应该使用一组完全不同的功能?
答案 0 :(得分:13)
您不需要索引匹配公式。您可以使用此数组公式。输入公式后,必须按 CTL + SHIFT + ENTER 。
=MAX(IF((A1:A6=A10)*(B1:B6=B10),C1:F6))
<强>快照强>
答案 1 :(得分:0)
您可以在寻找最大值时轻松将匹配类型更改为1,或在查找最小值时将匹配类型更改为-1。