在一张Excel表中我们会经常需要对符合某些条件的单元格数进行计数等特定的操作,若数据量较少,我们可以采用比较原始的方法,如手动计数或借助Excel的查找功能,但如果数据量较大,这样做就有些力不从心了。其实Excel给我们提供了专门用于在特定条件下进行计数的函数,如count、counta、countblank、countif和dcounta等。
一、count:返回包含数字以及包含参数列表中的数字的单元格的个数
1.语法规则:count(值1,值2,…),值1、值2……为包含或引用各种类型数据的参数(最多30个,可以是引用的单元格也可以是各种类型的数据),它会把数字、日期、或以文本代表的数字计算在内,但是错误值、逻辑值(true、false)或其它无法转换成数字的文字将被忽略。
2.举例:=count(A1:A8),结果为3;=count(A1:A7,23,14),结果为5。
![]() |
二、counta:返回参数列表中非空值的单元格个数
1.语法规则:counta(值1,值2,…),值1、值2……为包含或引用各种类型数据的参数(最多30个,可以是引用的单元格也可以是各种类型的数据),只要是非空单元格就会被计算在内,包括错误值、逻辑值以及其它无法转换成数字的文字和空字符串(“”)。
2.举例:=counta(A1:A8),结果为7;=counta(A1:A8,”it”,””),结果为9。
值得注意的是,前两个函数的参数都是相互并列的,每两个参数之间用“,”隔开,如果两个逗号之间、第一个逗号之前或最后一个逗号之后什么都没有(不是空字符串)或为空格,count和counta也将其计入总数。如=count(A1:A8,”it”,) 结果为9。
![]() |
三、countblank:返回指定范围的空单元格个数
1.语法规则:countblank(范围),计数范围包括空单元格和空字符串 (这一点和counta相同,需要注意),但数字0不会计算在内。
2.举例:=countblank(A1:A8),结果为2。
![]() |
四、Countif:返回指定区域中满足给定条件的单元格的个数
1.语法规则:countif(数据范围,条件)
2.举例:如在表1中,查找大于1500的数据,即可在相应单元格中输入:=countif(A1:A8,”>1500”),结果为5。
![]() |
五、dcounta:返回数据库或数据清单的列中满足指定条件的单元格个数(空单元格不计数)
countif只能对单一条件进行操作,但如果把条件”>1500”改为“>1500且<3000”呢?,甚至一些更为苛刻的条件呢?不用急我们可以用dcounta这个函数。
1.语法规则:dcounta(数据范围,指定的字段,条件)
数据范围:指欲从中查找符合指定条件单元格的数据区域,要求每一列都要有标志项。
指定的字段:指数据范围中所欲计数的列标志,可以是引用的单元格,也可以是带有半角引号的文本。若是文本,如果表中还有其它相同的文本Excel会提示选择相应的文本。
![]() |
条件:指一组包含给定条件的单元格区域,包含一个列标志和列标志下方用于设定条件的单元格。
2.举例:
(1) 求出表2中金额符合“>1500且<3000”条件的数据的个数。
![]() |
在相应的单元格中输入:=dcounta(A3:A16,A3,A1:B2),结果为3
(2) 查找基本工资在1600(包含)到2000(包含)之间的小王6个月中有奖金的月数。
|
在相应的单元格中输入:=dcounta(A4:F10,奖金,A1:G2),结果为5。值得注意的是还可以设定其它的条件,如要查找第一季度的可在B2中输入“<4”或“<=3”,对于奖金、补助、报销金额各项也可以设定相应的条件,读者可以自行体会,举一反三。
除dcounta以外,与其类似的函数还有很多,常用的函数及其作用见下图,其语法规则与dcounta相同,在这里就不详细叙述了,请读者自行体会。
|