"&{10,15})*{1,-1})的含义">
iamlaosong文
在介绍countif函数的用法中涉及双条件时一般都有下面的例子:
两个条件求个数(其中data是范围,比如A1:A100)
(1) >10并且<=15 =SUM(COUNTIF(data,">"&{10,15})*{1,-1})
(2) >=10并且<15 =SUM(COUNTIF(data,">="&{10,15})*{1,-1})
(3) >=10并且<=15 =SUM(COUNTIF(data,{">=10",">15"})*{1,-1})
(4) >10并且<15 =SUM(COUNTIF(data,{">10",">=15"})*{1,-1})
这些公式看起来比较复杂,下面解释一下其含义。
以第一个公式为例,{}在excel中是数组运算,这个数组有两个组员,分别是10和15,countif是得出满足条件的单元格数,所以countif首先得出一个数组,分别是">10"的单元格个数和">15"的单元格个数,然后分别和1和-1捉对相乘,最后再用SUM函数求和,结果相当于:">10"的单元格个数减去">15"的单元格个数,即“>10”且“<=15”的个数。同样,
第二个公式:">=10"的单元格个数减去">=15"的单元格个数,即“>=10”且“<15”的个数。
第三个公式:">=10"的单元格个数减去">15"的单元格个数,即“>=10”且“<=15”的个数。
第四个公式:">10"的单元格个数减去">=15"的单元格个数,即“>10”且“<15”的个数。
理解了公式之后,我们就可以自由发挥了,比如:
(5) <10并且>15 =SUM(COUNTIF(data,{"<10",">15"})*{1,1})
注意:其中就不是1和-1了,而都是1。
我们还可以增加数组的个数,写出更多的条件,如:
三个区域>=60计数:=SUM(COUNTIF(INDIRECT({"a46:a48","b48:b50","c47:c48"}),">=60"))
不过,一般多条件计数使用SUMPRODUCT函数,那个函数更直观,也更好写。
2007版以后,新增了countifs函数,可以同时检查多个区域,多个条件同时满足的个数。
countifs后面的括号可以加多个条件,但每个条件都需要有两个参数,一个单元格选取,另外一个就是判断条件,如:
=countifs(c:c,">60",d:d,">60",e:e,">130")
真实案例:=COUNTIFS(未妥投明细!H:H,A27,未妥投明细!N:N,"0")
如果多条件计数的话,最好用COUNTIFS函数,因为SUMPRODUCT函数速度比较慢。
多条件求和可以用SUMIFS函数,用法和COUNTIFS函数差不多。