SUMIF,根据指定条件对若干单元格求和。其函数原型:SUMIF(range,criteria,sum_range),参数:
range为用于条件判断的单元格区域
criteria为确定哪些单元格将被相加的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为32、"32"、">32"或"surda"
sum_range 求和的实际单元格区域
我们知道,SUMIF函数是一个很常用且有用的条件求和函数,但估计大家常用只是单条件求和.
我们通过例子来看SUMIF函数的用法.(文末附实例下载)
(表名=sumif1)
单列条件区域 求和公式一=SUMIF(A2:A9,"t*",C2:C9) = 1200
公式二 =SUMIF(A1:A9,"t*",C2:C9) = 1100
公式为计算域名t开头的google访问量,为什么两公式结果不一样?
特别说明:求和区域与条件区域错开1行,则参与求和单元格与原单平行单元格错开1行,再求和(SUMIF会自动偏移)
公式三 =SUMIF(A2:A9,"t*",C2)= 1200
特别说明:SUMIF第三参数可略写为求和区域的第1单元格
多列条件区域 求和我们同样计算域名t开头的google访问量,条件区域为A2:F9
公式四 =SUMIF(A1:F9,"T*",C1) = 2400
公式五 =SUMIF(A1:F9,"T*",C1:F9) = 2400
公式六 =SUMIF(A1:F9,"T*",C2) = 2200 //再次偏移1行
特别说明:SUMIF函数条件区域可以跨不同字段,第一参数(range)在同列并与第三参数(sum_range)水平距离保持一致。域名字段分别在AD,google字段分别在CF,A->C的距离等于D->F的距离。
以上两例公式同样可以用SUM函数(数组公式)代替:
=SUMIF(A2:A9,"t*",C2:C9)可替代为=SUM((LEFT(A2:A9)="t")*C2:C9)数组公式
=SUMIF(A1:F9,"T*",C1:F9)可替代为=SUM((LEFT(A2:A9)="t")*(C2:C9),(LEFT(D2:D9)="t")*(F2:F9))
跨表条件 求和SUM+SUMIF+INDIRET表sumif2有如上图一样的数据区域,现在对两表A2:A9开头为"t"的google访问量求和。答案为600*4=2400
看公式:(数组公式 CTRL+SHIFT+ENTER)
=SUM(SUMIF(INDIRECT("sumif"&{1,2}&"!A2:A9"),"t*",INDIRECT("sumif"&{1,2}&"!C2:C9")))
以上应该是我们常用于单条件求和的SUMIF应用,如何实现双条件乃至多条件的求和。
还是用上面的例子:求以t 开头域名来自google的访问量,但排除 t 本身。
公式十 =SUM(SUMIF(A2:A9,{"t*","t"},C2:C9)*{1,-1}) =600
我们用{}将双条件包裹起来做为常量数组,其原理由于篇幅关系就不深究,其实就是
=SUMIF(A2:A9,"t*",C2:C9)-SUMIF(A2:A9,"t",C2:C9) 的变体。