我之前分享了sumif函数的基本用法,但是今天我将分享它的数组用法。
-01-特定应用。
1.求竹叶饺子和豆沙饺子的总量。现在我们正在寻找两种粽子的总数。你可能会想到先找到竹叶饺子的总数,然后找到豆沙饺子的总数,最后再加起来。没关系。公式为=SUMIF(A2:A9,“竹叶饺子”,B2:B9) SUMIF(A2:A9,“豆沙饺子”,B2:B9)。它需要两次求和,公式有点长。
其实这里有两个条件,一个是竹叶饺子,一个是豆沙饺子。可以用公式=SUM(SUMIF(A2:A9,{“竹叶饺子”、“豆沙饺子”},B2:B9)在数组中完成。
第二个参数是一个数组,sumif也返回一个数组。可以在公式编辑栏选择sumif函数,按F9键查看,结果为{42,42}。这里的两个值完全一样,其中第一个42是竹叶饺子的总数,第二个42是豆沙饺子的总数,可以和上表左图对比。最后用sum函数将这两个值相加,这就是数组的用法。
也可以用前面学过的,虽然是求竹叶饺子和豆沙饺子的总量,其实是多条件或者多维度的关系。公式为=SUM(((A2:A9=“竹叶饺子”)(a23360a9=“豆沙饺子”))* b23360b9),按ctrl shift回车。
2.将小于20和大于40的数量相加。还有两个条件,一个小于20,一个大于40,也是or的关系。你可以像以前一样加两个sumif。现在使用数组公式=sum (sumif (b12:b19,{"20 "," 40"}))。同样,sumif返回一个数组{17,98},其中17是小于20的总数,98是大于40的总数。
使用时,公式为=sum((b 12: b 1920)(b 12: b 1940))* b 12: b 19),按ctrl shift回车。
3.求20和40之间的量的和。也就是说,计算大于或等于20且小于或等于40的数字之和。还有两个条件,一个大于等于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返回一个数组{270,185},其中270是大于等于20的总量,185是大于40的总量,所以使用270。所以乘以{1,-1},结果是{270,-185},和实际上是270-185。
因为多条件和的关系,也可以用*,公式是=sum((b 22: b29=20)*(b 22: b29=40)* b 22: b29),按ctrl shift回车。