1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

Excel表格COUNTIF函数的使用

Excel表格COUNTIF函数应该很少人会用到,很多小伙伴可能还不知道该怎么用,也有一些小伙伴虽然懂得COUNTIF函数的原理,却老是计算错误,所以也就越来越少用到了。其实COUNTIF函数的计算功能还是很不错的,下面小编为大家介绍下Excel表格COUNTIF函数的妙用,让大家重新认识COUNTIF函数。

  如图中所示,在E列使用下面的公式,判断B列的身份证号码是否重复。

  =IF(COUNTIF($B$2:$B$11,B2)>1,"重复","")

公式中COUNTIF($B$2:$B$11,B2)部分,用来统计$B$2:$B$11数据区域中等于B2单元格的数量。再使用IF函数判断,如果$B$2:$B$11数据区域中,等于B2单元格的数量大于1,就返回指定的结果1“重复”,否则返回空值。运算的结果如E列所示。

  可是当我们仔细检查时就会发现,B2和B11单元格的身份证号码是完全相同的,因此函数结果判断为重复,但是B6单元格只有前15位号码和B2、B11单元格内容相同,函数结果仍然判断为重复,这显然是不正确的。

我们来看一下究竟是什么原因呢?虽然B列中的身份证号码为文本型数值,但是COUNTIF函数在处理时,会将文本型数值识别为数值进行统计。在Excel中超过15位的数值只能保留15位有效数字,后3位全部视为0处理,因此COUNTIF函数将B2、B6、B11单元格中的身份证号码都识别为相同。

  用什么办法来解决这种误判的问题呢?可将E2单元格公式修改为:

  =IF(COUNTIF($B$2:$B$11,B2&"*")>1,"重复","")

在上面这个公式中,COUNTIF函数的第2参数使用了通配符"*",最终得出正确结果。使用通配符"*"的目的是使其强行识别为文本进行统计,相当于告诉Excel“我要统计的内容是以B2单元格开头的文本”,Excel就会老老实实的去执行任务了。所以说,Excel就像一个忠实的士兵,能不能打胜仗,关键还是要看我们怎么指挥的。

  除了在第二参数后面加通配符的方法以外,也可使用以下数组公式完成计算:

  {=IF(SUM(N(B2=$B$2:$B$11))>1,"重复","")}

  这个公式中,直接使用了等式B2=$B$2:$B$11,等号就像一个天平,只有左右两侧完全一致了,等式才会成立的。

  等式B2=$B$2:$B$11返回的是逻辑值TRUE或是FALSE,用N函数将逻辑值转换为数值,TRUE转换为1,FALSE转换为0,然后再用SUM函数求和。通过这样迂回的方法完成是否重复的判断。

  昨天为大家留下了一个问题,运用COUNTIF函数统计数据区域中的不重复个数:

  下面就简单学习一下,怎么处理这个不重复数量的统计问题。

  可以使用这个数组公式(别忘了,数组公式需要按下Shift+Ctrl Enter才可以哦):

  {=SUM(1/COUNTIF(A2:A14,A2:A14))}

  怎么去理解这个公式呢?{=SUM(1/COUNTIF(区域,区域))}是计算区域中不重复值个数的经典公式。

  1、公式中“COUNTIF(A2:A14,A2:A14)”部分是数组计算,运算过程相当于:

  =COUNTIF(A2:A14,A2)

  =COUNTIF(A2:A14,A3)

  ……

  =COUNTIF(A2:A14,A14)

  结果为数组{2;2;1;1;2;1;1;1;1;2;2;2;1},表示区域中等于本单元格数据的个数。

  2、“1/{2;2;1;1;2;1;1;1;1;2;2;2;1}”部分的计算结果为{0.5;0.5;1;1;0.5;1;1;1;1;0.5;0.5;0.5;1},用1除以个数,是本公式的核心,要结合前后计算才能领会好它的作用。为便于理解,把这一步的结果整理一下,用分数代替小数,结果为:{1/2;1/2;1;1;1/2;1;1;1;1;1/2;1/2;1/2;1}。

  如果单元格的值在区域中重复出现两次,这一步的结果就有两个1/2。如果单元格的值在区域中重复出现3次,结果就有3个1/3,如此类推。

  3、最后用SUM函数求和,计算结果为10。

  关于excel表格COUNTIF函数的妙用就分享到这了,大家觉得COUNTIF函数好不好用呢?大家可以关注教程之家,里面有更多精彩的Excel教程带给大家。

原文链接:https://www.qiquanji.com/post/7880.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:网页教程 浏览: