Countif是一个用来按条件统计个数的函数。如:
=COUNTIF(G:G,K9)
Countif第一个参数常是一组数,但也有一个值的情况,就是用来判断一个单元格是否包含另一个单元格内容。如:判断A列值是否包含孙悟空
=COUNTIF(A2,"*孙悟空*")
注:*是通配符,表示任意多个字符。
昨天,用Countif函数这个用法解决了一个Excel难题,需要一天的工作,10秒就完成了。
【例】如下图所示 , A列为产品所需要的所有工种的工序,而D、E列是工种的费用。现需要计算出每一个产品所需要的总费用。如第3行:
铝焊点定,SPR点定 =4.5 5 =9.5
分析:完成这个计算如果用手工去计算,估计一天也完不成。
首先用Countif函数判断出A列的工序中都包含哪些工种。
=COUNTIF(A2,"*"&D2:D10&"*")
上面公式会返回多个结果,逐个判断D列的工种是否在A2中存在,如果存在返值1,不存在返回值0。
注:因为是office365版本,所以上面公式的结果可以显示到一个区域(C2:C10)中, 其他版本则无法这样显示,不过显示和公式最终结果无关,公式计算所有版本都可以用。
然后用得到一组值乘E列的费用,就可以得到包含的所有费用。
=COUNTIF(A2,"*"&D2:D10&"*")*E2:E10
最后用Sumproduct函数求和即可。
=SUMPRODUCT(COUNTIF(A2,"*"&D$2:D$10&"*")*E$2:E$10)