Excel SUMIF不能正确使用行中的条件和列中的值

Excel SUMIF不能正确使用行中的条件和列中的值,excel,excel-formula,excel-2010,excel-2007,sumifs,Excel,Excel Formula,Excel 2010,Excel 2007,Sumifs,我需要建立一个SUMIF公式,将垂直sum_范围与水平标准范围相加 使用格式为=SUMIF(A2:D2,“there”,E1:E4)的SUMIF函数使我想到,如果满足A2:D2向量中的条件(““there”),excel将对sum_范围向量中的值求和。但出于某种原因,公式是从E1水平移动的(见下图),忽略了E2到E4 有人知道解决这个问题的方法吗?还是一个替代方案 您可以通过将A2:D2范围转换为一组0和1,然后将SUMIF替换为SUMPRODUCT来破解它,如下所示 =SUMPRODUCT(I

我需要建立一个SUMIF公式,将垂直sum_范围与水平标准范围相加

使用格式为
=SUMIF(A2:D2,“there”,E1:E4)
的SUMIF函数使我想到,如果满足A2:D2向量中的条件(““there”),excel将对sum_范围向量中的值求和。但出于某种原因,公式是从E1水平移动的(见下图),忽略了E2到E4

有人知道解决这个问题的方法吗?还是一个替代方案


您可以通过将
A2:D2
范围转换为一组0和1,然后将
SUMIF
替换为
SUMPRODUCT
来破解它,如下所示

=SUMPRODUCT(IF(A2:D2="there",1,0),TRANSPOSE(E1:E4))

请记住使用
Ctrl+Shift+enter
输入此公式,因为
TRANSPOSE
函数是
SUMPRODUCT

中的数组调用,它在Excel 365中不使用CSE即可工作!它在删除
IF
函数后工作,比如
=SUMPRODUCT((A2:D2=“there”)*TRANSPOSE(E1:E4))
。它的工作+1!无论是否在Excel 365中,它都对我有效!非常感谢你!这是因为SUMIF的设计使得Excel为总和范围定义的实际范围从指定范围的左上角单元格开始,但与标准范围的大小相同。因此,由于标准范围的大小是1行乘以4列,因此总和范围也将是1行乘以4列,从E1开始,因此E1:H1。