vba的countif函数

如题所述

许多Excel问题都需要进行数据计数,有些简单的计数任务可能仅需使用COUNT或COUNTA函数即可解决。然而,在复杂的业务场景中,常常需要基于多个条件进行统计,例如计数符合条件的单元格、统计不重复的记录等。
例如,假设Excel表格中的D列记录了学生的数学成绩,现在需要统计成绩及格的学生数量。此时,可以使用COUNTIF函数来实现,公式为“=COUNTIF(D:D,">=60")”。COUNTIF函数能够对满足特定条件的单元格区域进行计数。其语法结构为COUNTIF(范围,条件),其中“范围”是指需要计数的单元格区域,“条件”是一个数字、表达式、单元格引用或文本字符串,用于定义哪些单元格应被计数。
COUNTIF函数的一些常见应用示例如下(假设数据所在的单元格区域名为“Data”):
- `=COUNTIF(Data,"=")`:返回区域中空白单元格的个数(无内容的单元格)。
- `=COUNTIF(Data,"")`:返回区域中空白及包含空文本(例如0)单元格的个数。
- `=COUNTIF(Data,">")`:返回区域中非空白单元格的个数。
- `=COUNTIF(Data,"*")`:返回区域中文本型单元格的个数。
- `=COUNTIF(Data,"<9.99E+307")`:返回区域中数值型单元格的个数。
- `=COUNTIF(Data,">""")`:返回区域中所有单元格的个数。
- `=COUNTIF(Data,"<0")`:返回区域中包含负值的单元格的个数。
- `=COUNTIF(Data,">0")`:返回区域中不包含零的单元格的个数。
- `=COUNTIF(Data,60)`:返回区域中值等于60的单元格的个数。
- `=COUNTIF(Data,">60")`:返回区域中值大于60的单元格的个数。
- `=COUNTIF(Data,"<60")`:返回区域中值小于60的单元格的个数。
- `=COUNTIF(Data,">=60")`:返回区域中值大于或等于60的单元格的个数。
- `=COUNTIF(Data,"<=60")`:返回区域中值小于或等于60的单元格的个数。
- `=COUNTIF(Data,A1)`:返回区域中值与单元格A1内容相同的单元格的个数。
- `=COUNTIF(Data,">"&A1)`:返回区域中值大于单元格A1内容的单元格的个数。
- `=COUNTIF(Data,"<"&A1)`:返回区域中值小于单元格A1内容的单元格的个数。
- `=COUNTIF(Data,"???")`:返回区域中字符数为3的单元格的个数。
- `=COUNTIF(Data,"YDL")`:返回区域中值等于“YDL”的单元格的个数。
- `=COUNTIF(Data,"YDL?")`:返回区域中以“YDL”开头且字符数为4的单元格的个数。
- `=COUNTIF(Data,"?YDL*")`:返回区域中第2、3、4个字符为“YDL”的单元格的个数。
- `=COUNTIF(Data,"*YDL*")`:返回区域中包含“YDL”字符的单元格的个数。
- `=COUNTIF(Data,"*"&A1&"*")`:返回区域中包含单元格A1内容的文本单元格的个数。
- `=COUNTIF(Data,TODAY())`:返回区域中值等于当前日期的单元格的个数。
- `=COUNTIF(Data,">"&AVERAGE(Data))`:返回区域中值大于平均值的单元格的个数。
- `=SUM(COUNTIF(Data,">"&{10,15})*{1,-1})`:返回区域中值大于10小于等于15的单元格的个数。
- `=SUM(COUNTIF(Data,{TRUE,FALSE}))`:返回区域中包含逻辑值的单元格的个数。
值得一提的是,在Excel 2010中,新增了COUNTIFS函数,它允许基于多个条件进行计数。例如,若要统计年龄大于35岁、拥有房屋和车辆的员工数量,可以使用公式“=COUNTIFS(D3:D50,">35",E3:E50,"是",F3:F50,"是")”。
温馨提示:答案为网友推荐,仅供参考