为什么带范围标准的excel SUMIF不能按预期工作?

为什么带范围标准的excel SUMIF不能按预期工作?,excel,excel-formula,Excel,Excel Formula,我有3列A,B,C。现在,我想得到每个单元格Ai的总和 Bi

我有3列A,B,C。现在,我想得到每个单元格Ai的总和 Bi 示例:

A    B    C
-----------
2    1    3
4    5    4
3    2    7
6    6    6
-----------

Expected result = A1 + A3 = 2 + 3 = 5

我尝试了以下公式:
=SUMIF(B1:B4),您可以使用此数组公式:

{=SUM(IF(B1:B4<C1:C4,A1:A4))}

{=SUM(如果(B1:B4您可以使用以下数组公式:

{=SUM(IF(B1:B4<C1:C4,A1:A4))}

{=SUM(IF(B1:B4SUMIF
函数接受3个参数:
range
criteria
SUM\u range

如果选中,您会注意到,
range
sum\u range
都接受“单元格范围”(即多个值),
条件
是一个单个值,与
范围
中的所有单元格相比,这是相同的。如果您确实放入了一个范围或数组,那么它将只使用第一个项。
{EDIT}除非整个函数是数组计算的一部分,在这种情况下,您将为数组中的每个项目获得一个
SUMIF
数组-例如
{=SUM(SUMIF(A1:A4,{1,2}))}
{=SUM({SUMIF(A1:A4,1),SUMIF(A1:A4,2)})相同


这意味着,您可以执行
=SUM(B1:B4),函数接受3个参数:
range
criteria
SUM\u range

如果选中,您会注意到,
range
sum\u range
都接受“单元格范围”(即多个值),
条件
是一个单个值,与
范围
中的所有单元格相比,这是相同的。如果您确实放入了一个范围或数组,那么它将只使用第一个项。
{EDIT}除非整个函数是数组计算的一部分,在这种情况下,您将为数组中的每个项目获得一个
SUMIF
数组-例如
{=SUM(SUMIF(A1:A4,{1,2}))}
{=SUM({SUMIF(A1:A4,1),SUMIF(A1:A4,2)})相同


这意味着,你可以做
=SUM(B1:B4,“你的C1:C4是一个字符串的一部分,当你把它放在两个字符串之间时”。正确的答案见jblood94你的C1:C4是一个字符串的一部分。正确的答案见jblood94另一个家伙更快,所以我不得不想出一些新的:)或
=SUMPRODUCT(A1:A4*--(B1:B4另一个家伙的速度更快,所以我不得不想出一些新的东西:)或
=SUMPRODUCT(A1:A4*)(B1:B4虽然这样的逐行比较确实超出了SUMIF(S)/COUNTIF(S)等的能力,但可能值得澄清的是,criteria参数可以接受一个范围的值封装在某个合适的强制函数中,它将接受并操作作为条件参数传递的一系列值:=SUM(SUMIF(B1:B4,{1,2},A1:A4)),例如,使用提供的数据集返回5。尽管这样的逐行比较确实超出了SUMIF(S)/COUNTIF(S)的能力例如,如果SUMIF(例如)被包装在某个合适的强制函数中,它将接受并操作作为条件参数传递的一系列值:=SUM(SUMIF(B1:B4,{1,2},A1:A4)),例如,使用提供的数据集返回5。