我有3列A,B,C。现在,我想得到每个单元格Ai的总和 Bi< Ci
示例:
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,"<C1:C4",A1:A4)
,
但它给了我0!
任何人都可以提供帮助吗?
答案 0 :(得分:3)
SUMIF
函数接受3个参数:range
,criteria
和sum_range
。
如果您选中the documentation,则会注意到range
和sum_range
同时接受&#34;范围的单元格&#34; (即多个值),criteria
是单值,与range
中的所有单元格进行比较相同。如果你做放入一个范围或数组,那么它只会使用第一个项。
{EDIT} 除非整个函数是数组计算的一部分,否则您将获得数组中每个项目的SUMIF
数组 - 例如{=SUM(SUMIF(A1:A4,{1,2}))}
与{=SUM({SUMIF(A1:A4,1), SUMIF(A1:A4,2)})}
这意味着,您可以=SUM(B1:B4,"<" & MIN(C1:C4),A1:A4)
添加A列中的值,其中B列中的值小于 all C列中的值,但是对于行逐行比较你需要一个数组公式或SUMPRODUCT
,如下所示:
=SUMPRODUCT(A1:A4*--(B1:B4<C1:C4))
答案 1 :(得分:1)
您可以使用此数组公式:
{=SUM(IF(B1:B4<C1:C4,A1:A4))}
您需要使用 Ctrl + Shift + Enter 来应用它。
您知道在看到公式
周围的花括号时正确设置了数组公式答案 2 :(得分:0)
Sub sumIf()
Dim sum As Integer
For rownum = 1 To 4
If Sheets("Sheet12").Cells(rownum, 2) < Sheets("Sheet12").Cells(rownum, 3) Then
sum = Sheets("Sheet12").Cells(rownum, 1) + sum
End If
Next rownum
MsgBox sum
End Sub