只要一个函数,轻松玩转Excel的条件计数,这两个技巧很强大


  • 【深度解析】满足一定条件的计数——COUNTIF函数!

【深度解析】满足一定条件的计数——COUNTIF函数!

COUNTIF函数是对指定区域中符合指定条件的单元格计数的函数,在Excel 2003及以上版本中均可使用。

该函数的语法规则如下:

COUNTIF(range,criteria)

参数:

range要计算其中非空单元格数目的区域;

参数:

criteria以数字、表达式或文本形式定义的条件。

示例1:

如图3-9-22所示。

图3-9-22

工资等于1200的人数,公式为=COUNTIF(C2:C8,1200)

示例2:

图3-9-23是原始数据。

图3-9-23

COUNTIF的几种常见公式设置如图3-9-24所示。

图3-9-24

为什么不重复的身份证号码计数视为重复

如图3-9-25所示,在B列使用下面的公式,判断A列的身份证号码是否重复。

=IF(COUNTIF($A$2:$A$10,A2)>1,"重复","")

图3-9-25

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

可是当我们仔细检查时就会发现,A4和A5、A6、A7单元格的身份证号码不完全相同,但是公式结果判断为重复,这显然不对

我们来看一下究竟是什么原因。

虽然A列中的身份证号码为文本型数值,但是COUNTIF函数在处理时,会将文本型数值识别为数值进行统计。

在Excel中超过15位的数值只能保留15位有效数字,后3位全部视为0处理,因此COUNTIF函数会将A4、A5、A6、A7单元格中的身份证号码都识别为相同。

用什么办法来解决这种误判的问题呢?

可将B2单元格公式修改为=IF(COUNTIF($A$2:$A$10,A2&"*")>1,"重复",""),如图3-9-26所示。

图3-9-26

上面这个公式中,COUNTIF函数的第2个参数使用了通配符“*”,目的是使其强行识别为文本进行统计,最终得出正确结果。