之前分享了sumif函数的基本用法,今天来分享下它的数组用法。
-01-具体应用
1.求竹叶粽和豆沙粽的总数量。现在是求2种粽子的总数量,你可能会想到先把”竹叶粽”的总数量求出来,然后再把”豆沙粽”的总数量求出来,最后把它们相加。这样是可以的,公式为=SUMIF(A2:A9,”竹叶粽”,B2:B9)+SUMIF(A2:A9,”豆沙粽”,B2:B9),要用2次sumif,公式有点长。
其实这里有2个条件,一个是”竹叶粽”,一个是”豆沙粽”。可以用数组的方式来完成,公式为=SUM(SUMIF(A2:A9,{“竹叶粽”,”豆沙粽”},B2:B9))。
第2参数是一个数组,sumif也返回一个数组。可以在公式编辑栏中选中sumif函数按F9查看,结果为{42,42}。这里2个值刚好一样,其中第1个42就是”竹叶粽”的总数量,第2个42是”豆沙粽”的总数量,可以和上图的左表对比。最后用sum函数对这2个值求和,这就是数组的用法。
也可以用前面学的+来完成,尽管是求”竹叶粽”和”豆沙粽”的总数量,实际是多条件或的关系。公式为=SUM(((A2:A9=”竹叶粽”)+(A2:A9=”豆沙粽”))*B2:B9),按ctrl+shift+enter。
2.求小于20和大于40的数量的总和。这里也有2个条件,一个是小于20,一个是大于40,也是或的关系。可以像前面一样用2个sumif相加。现在直接用数组公式=SUM(SUMIF(B12:B19,{“<20″,”>40″}))。同样地sumif返回一个数组{17,98},17是小于20的总数量,98是大于40的总数量。
用+来完成,公式为=SUM(((B12:B19<20)+(B12:B19>40))*B12:B19),按ctrl+shift+enter。
3.求20-40之间的数量的总和。也就是求大于等于20且小于等于40的数量的总和。也有2个条件,一个是大于等于20,一个是小于等于40,是与的关系。现在该怎么求呢?如果直接用公式=SUM(SUMIF(B22:B29,{“>=20″,”<=40”})),结果肯定不对。在公式中查看sumif返回的结果为{270,104},270是大于等于20的总数量,它把大于40的也包括进去了。
正确的公式为=SUMIF(B22:B29,”>=20″)-SUMIF(B22:B29,”>40″),用大于等于20的总数量减去大于40的总数量就是大于等于20且小于等于40的总数量。
数组的公式为=SUM(SUMIF(B22:B29,{“>=20″,”>40″})*{1,-1}),sumif返回1个数组{270,185},270是大于等于20的总数量,185是大于40的总数量,要用270减去185该怎么减呢?所以要乘以{1,-1},这样结果就为{270,-185},用sum求和实际就是270-185。
由于是多条件与的关系,还可以用*来完成,公式为=SUM((B22:B29>=20)*(B22:B29<=40)*B22:B29),按ctrl+shift+enter。