在之前的文章《excel函数学习之如何快速统计工作日,看看这两个函数!》中,我们学习了两个工作日函数。而今天我们来学习countif(),分享countif函数查重复等5个案例,快来看看!
在Excel中有一些非常经典的函数组合,大家比较熟悉的有INDEX-MATCH组合,还有INDEX-SMALL-IF-ROW组合(也叫万金油组合),当然还有很多其他的组合,今天分享的这个组合同样非常有用,下面会通过四个常见的问题让大家见证这对组合所带来的美妙时刻,当然还是要先认识一下今天的两个主角:COUNTIF和IF这两个大伙都非常熟悉的函数。
COUNTIF函数的使用方法:COUNTIF(范围,条件),函数可以得到符合条件的数据在范围中出现的次数,简单来说这个函数就是条件计数用的;
IF函数的用法:IF(条件,满足条件的结果,不满足条件的结果),用一句话来说,如果给IF一个条件(第一参数),当条件成立的时候给返回一个结果(第二参数),当条件不成立的时候返回另一个结果(第三参数)。
关于这两个函数的基本用法,之前的教程多次讲过,不再赘述,下面先来看看他们两相遇以后发生的第一个问题:核对订单时遇上的问题
假设A列是全部的订单号,D列是已经发货的订单号,现在需要在B列对已发货的订单进行标记(为了防止大家眼花,箭头仅指出了两个对应的订单号):
对于这个问题,我想各位一定不陌生,这问题在对账的时候经常用吧,也可能有些小伙伴已经迫不及待的喊着VLOOKUP了,实际上B列的公式是这样的:
=IF(COUNTIF(D:D,A2)>0,"已发货","")
首先用COUNTIF进行统计,看A2单元格的订单号在D列出现了几次,如果没有出现的话就是没发货,反之就是已发货。
因此用COUNTIF(D:D,A2)>0作为IF的条件,如果订单在D列出现了(出现次数大于0),那么返回"已发货"(注意汉字要加引号),否则返回空白(两个引号代表空白)。
第一个问题都看明白了吧,再来看第二个问题:COUNTIF查重复案例:重复订单怎么找
A列是来自多个文员登记的订单统计表,汇总后发现有一些是重复的(为了方便查看,可以先将订单号排序),现在需要在B列对有重复的订单进行标注:
这同样是一个上榜率非常高的问题,解决办法也很简单,B列公式为:
=IF(COUNTIF(A:A,A2)>1,"有","")
与前一个问题类似,这次直接计算每个订单在A列出现的次数,不过条件要变一下,不是大于0而是大于1了,这一点也很好理解,只有出现次数大于1的才是重复订单,因此使用COUNTIF(A:A,A2)>1作为条件,再让IF返回我们需要的结果。
当找到重复订单后,第三个问题也就出来了,要在订单号后面标准是否保留的信息,如果有重复的则保留一个:
这个问题乍一看还挺麻烦,实际上对于问题2的公式稍作修改就可以实现:=IF(COUNTIF($A$2:A2,A2)=1,"保留","")
注意这里的COUNTIF,范围不再是整列,而是$A$2:A2,这种写法随着公式下拉,统计的范围会随着变化,得到的结果是这样的:
不难看出,结果为1的都是首次出现的订单号,也是我们需要保留的信息,因此用来做条件的时候就用了等于1。
前面三个问题都是与订单号有关的,最后这个问题是和供货商考核有关的,这可是决定了是否能够续约的关键问题哦。
根据公司规定,对每个供货商有六项考核指标,A为最好,E为最差,六项指标中有两个或两个以上的E,则不续约:
规则还算比较简单,来看看公式是不是同样简单:
=IF(COUNTIF(B2:G2,"E")>1,"否","")
这一次COUNTIF的范围变成了行,在B2:G2这个范围内统计"E"出现的次数,同样注意要加引号,当统计结果大于1时,说明该供货商就有两项以上的差评(如果你非要用大于等于2,我也没意见),再使用IF得到最终结果。
最后要说的这个问题,财务岗位的伙伴一定不陌生,有时候我们会遇到这种情况:在一列数据中有一正一负的情况,这时候需要把未抵消的数据标注(提取)出来,比如图中的例子:
这个问题或许曾令很多人头疼,其实使用今天的这两个函数组合很容易就解决了,公式为:
=IF(COUNTIF(A:A,-A2)=0,A2,"")
注意这里COUNTIF中的条件-A2,也就是找与A2可以互相抵消的数字,如果没有的话,通过IF得到A2,反之得到空值,使用了一个负号就巧妙的解决了一件麻烦事。
通过上面的五个案例,大家或许会有一种感觉,这两个函数的组合比起其他一些函数组合相对容易理解,只要找到正确的思路,很多问题都可以用这对组合来处理。事实也是如此,善于使用COUNTIF来进行各种条件计数,再配合IF函数就能得到更加多样的结果,ifcountif筛选重复数据是经常使用的。解决问题不一定要很难的函数,简单函数用好了也是非常愉快的一件事。
相关学习推荐:excel教程