Excel SUMIF公式-范围

Excel SUMIF公式-范围,excel,Excel,在输入SUMIF公式的“范围”和“总和范围”时,如果“范围”位于水平位置而“总和范围”位于垂直位置,是否有办法这样做 这个公式只适用于我,如果我将“sum_range”从垂直转换为水平,我真的不想这样做,因为这些范围是一个更大的表的一部分,所以如果我这样做,看起来会很尴尬。我也不想做一个“看不见”的范围转置副本 还有其他方法吗?您可以在如下数组公式中使用转置函数: =SUM((A1:A8="d")*TRANSPOSE(A9:H9)) 必须将其作为数组公式输入,即不要按enter键,而是按CTR

在输入SUMIF公式的“范围”和“总和范围”时,如果“范围”位于水平位置而“总和范围”位于垂直位置,是否有办法这样做

这个公式只适用于我,如果我将“sum_range”从垂直转换为水平,我真的不想这样做,因为这些范围是一个更大的表的一部分,所以如果我这样做,看起来会很尴尬。我也不想做一个“看不见”的范围转置副本


还有其他方法吗?

您可以在如下数组公式中使用
转置
函数:

=SUM((A1:A8="d")*TRANSPOSE(A9:H9))
必须将其作为数组公式输入,即不要按enter键,而是按CTRL+Shift+enter键。(公式放在方括号中。)

在此示例中,将数组
A1:A8
逐行与
d
进行比较,后者被计算为1或0,然后与第二个数组中的相应行相乘,并对结果进行汇总。

您可以在如下数组公式中使用
转置
函数:

=SUM((A1:A8="d")*TRANSPOSE(A9:H9))
必须将其作为数组公式输入,即不要按enter键,而是按CTRL+Shift+enter键。(公式放在方括号中。)

在此示例中,将数组
A1:A8
逐行与
d
进行比较,后者计算为1或0,然后与第二个数组中的相应行相乘,然后对结果进行汇总。

如果垂直和范围在
A2:A10
中,标准范围在
B1:J1
中,您可以使用
MMULT
这样的函数

=MMULT((B1:J1=“d”)+0,A2:A10)


“行”始终必须是此处的第一个参数,垂直和范围在
A2:A10
中,标准范围在
B1:J1
中。您可以像这样使用
MMULT
函数

=MMULT((B1:J1=“d”)+0,A2:A10)



“行”总是这里的第一个参数

OP在问题中指出,他们不想transpose@brettdj我对OP的理解是,他不想通过转置数据来修改工作表。在公式中使用
TRANSPOSE
是实现这一点的一种方法。@brettdj我认为你把事情弄糊涂了。他不想在工作表上有一个单元格的转置副本。这里的
Transpose
只是函数内部的一个计算。您可以使用这种方法,用SUMPRODUCT替换SUM,并避免Ctrl-Shift-Enter。对我来说,一个比MMULT(+1)更干净的解决方案如果你是说按ctrl+shift+enter,那么我就这么做了。OP在问题中指出他们不想变换transpose@brettdj我对OP的理解是,他不想通过变换数据来修改工作表。在公式中使用
TRANSPOSE
是实现这一点的一种方法。@brettdj我认为你把事情弄糊涂了。他不想在工作表上有一个单元格的转置副本。这里的
Transpose
只是函数内部的一个计算。您可以使用这种方法,用SUMPRODUCT替换SUM,并避免Ctrl-Shift-Enter。对我来说,这是一个比MMULT(+1)干净得多的解决方案,如果你的意思是按ctrl+shift+enter,那么我就按了。SUMIF函数有三个组成部分:范围、条件和求和范围。我的“范围”是B2:E2,我的“标准”是“2”,我的“总和范围”是W8:W11。转置公式在这里是如何工作的?我试着放入框中,但是出现了一个0,值应该是2。试试这个公式
=MMULT((B2:E2=2)+0,W8:W11)
-你可能不需要在
2
周围加引号,它起作用了,我不知道我想做的事情是否可行。非常感谢,我很感激:如果第一个范围在另一个excel工作簿上,PDO会使此公式起作用吗?只要您正确引用该范围,这应该不会是一个问题,例如,如果您想在sheet2上使用B2:E2,请尝试以下操作:
=MMULT((sheet2!B2:E2=2)+0,W8:W11)
-注意W8:W11必须完全填充-如果不尝试
=MMULT((Sheet2!B2:E2=2)+0,W8:W11+0)
SUMIF函数有三个组成部分:范围、标准和求和范围。我的“范围”是B2:E2,我的“标准”是“2”,我的“求和范围”是W8:W11。转置公式在这里是如何工作的?我试着放入框中,但出现了一个0,值应该是一个2。试试这个公式
=MMULT((B2:E2=2)+0,W8:W11)
-您可能不需要在
2
周围加引号,我不知道我想做的是否可行。非常感谢,我很感激:如果第一个范围在另一个excel工作簿上,PDO可以使此公式起作用?只要您正确引用该范围,这应该不会有问题,例如,如果您想在sheet2上使用B2:E2,请尝试这:
=MMULT((Sheet2!B2:E2=2)+0,W8:W11)
-注意W8:W11必须完全填充-如果不尝试
=MMULT((Sheet2!B2:E2=2)+0,W8:W11+0)