Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 返回由索引&;确定的范围的最大值;匹配查找_Excel_Excel Formula_Max_Excel 2010_Excel Match - Fatal编程技术网

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

Excel 返回由索引&;确定的范围的最大值;匹配查找,excel,excel-formula,max,excel-2010,excel-match,Excel,Excel Formula,Max,Excel 2010,Excel Match,我需要一个单元格来显示由索引和匹配公式定义的行范围的最大值。我知道这将是一个数组函数,但我正在努力使语法正确。以下是我的数据。我用列字母和行号(如Excel)来布置它 使用下表作为参考,在第二个表中。当我在单元格A1中输入b并在列B1中输入y时,单元格C1中的公式应返回值35,因为35是C:F列中的最大值,该行由A1和B1使用索引和MATCH 表1 A B C D E F 1 a x 25 6 23

我需要一个单元格来显示由索引和匹配公式定义的行范围的最大值。我知道这将是一个数组函数,但我正在努力使语法正确。以下是我的数据。我用列字母和行号(如Excel)来布置它

使用下表作为参考,在第二个表中。当我在单元格
A1
中输入
b
并在列
B1
中输入
y
时,单元格
C1
中的公式应返回值
35
,因为
35
C:F
列中的最大值,该行由
A1
B1
使用
索引和
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
现在。。。我想做的是创建一个公式,在与单独表格中给出的
a
B
中的值相匹配的行中找到
C
F
的最大列数。对于本例,我们将在cell
C1
中编写公式。根据列
a=b
和列
b=y
(公式告诉我们是行
4
)的匹配,公式应取
C
F
的最大值。在这种情况下,我想要的值是
35
,因为它是第
4行上4列(
C:F
)的最大值

这是我的第二个表格的样子,公式在第
C行

表2

     A      B      C
1    b      y      35
2    a      x      25
3    b      z      38
4    c      x      22
我试过这样做:(公式在表2中,因此它没有在公式的匹配部分显式声明。您还必须熟悉excel中的表才能获得它)

然后我使用Control+Shift+Enter组合键将其包装起来,以对其进行阵列


当我将
MAX
函数放入
索引的数组部分时,问题似乎出现了。有什么办法可以解决这个问题吗?也许我应该使用完全不同的函数集?

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

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


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

如果需要,您可以使用索引和匹配。这一个比Sid的建议长,但不需要CTRL+SHIFT+ENTER……
=MAX(索引(C1:F6,匹配(1,索引((A1:A6=A10)*(B1:B6=B10),0),0),0))
@barryhoudini-
=MAX(如果(MMULT((A1:A6=A10)*(B1:B6=B10),1),C1:F6))
MMULT(…,1)
似乎比
INDEX(…,0)
更能使公式成为非数组项。晚会迟到了-这太棒了!我想知道我是否可以将其扩展到所需的次数,或者该方法是否只适用于两种情况?(基本上,我可以这样做:
=MAX(如果((A1:A6=A10)*(B1:B6=B10)*(C1:C6=C10)*(D1:D6=D10)*(E1:E6=E10),C1:F6))
=MAX(IF((A1:A6=A10)*(B1:B6=B10),C1:F6))