1. 概述
1.1 函数作用
计算数组或数据区域中所含项的个数,例如统计「地区数」和「销售员个数」,如下图所示:
也可与其他函数嵌套使用,例如进行「条件计数」,计算除孙林以外的销售员个数,如下图所示:
在报表设计中,count 函数可以对单元格的个数计数,可以计算某个单元格扩展出来的个数,也可以求数组中元素的个数。
注:去重计数可通过组合 count 函数和 UNIQUEARRAY()函数实现 ,例如:count(UNIQUEARRAY(A1)) 。
1.2 函数解释
语法 | count(value1,value2,…) | 计算数组或数据区域中所含项的个数 |
---|---|---|
参数1 | value1,value2,… | 可包含任何类型数据的参数 |
示例:
若 A1 单元格扩展了 5 个格子且都有数据, count(A1) 等于 5。
若 A1-A8 单元格中都有数据,count(A1:A8) 等于 8 。
count(2,3,4,5,7) 等于 5 。
1.3 注意事项
count 函数会对空字符串引起的空值计数;但对 NULL 值引起的空值不计数。
需要统计个数可以是数组、单元格,单元格可以是单元格区域,也可以是扩展单元格。
2. 去重计数
2.1 模板准备
新建模板,新建数据集ds1 ,sql 语句为SELECT * FROM 销量,设置如下模板样式,并将「ds1.地区」字段拽入 A2 单元格,将「ds1.销售员」拽入 B2 单元格。在 C2 单元格输入公式 =count(A2) ,在 D2 单元格输入公式 =count(B2)。如下图所示:
2.2 设置数据列展示方式
count 只统计单元格的个数,由于「地区」和「销售员」数据列都有重复数据,因此如果需要统计地区个数和销售员个数,则需要设置「ds1.地区」A2单元格和「ds1.销售员」B2单元格单元格显示格式为「分组」,相当于进行去重计数,如下图所示:
注:如果以「列表」格式展示数据,但却希望统计去重计数个数,则可使用 count(UNIQUEARRAY())公式。
2.3 设置单元格扩展方式
设置 C2 单元格的左父格为「无」,否则 C2 和 D2 单元格将跟随 B2 单元格扩展,无法正确计数,设置方法如下图所示:
2.4 效果查看
保存模板,效果见本文 1.1 节。
3. 条件计数
count 函数中的参数为扩展单元格时,也可以与其他函数嵌套实现条件计数,格式为:count({}) ,其中 {} 内为计数条件。
例如:count(A1{A1!=0}) 统计 A1 单元格扩展出来的数据中不为 0 的个数。
count(A1{len(A1) != 0})统计 A1 单元格扩展出来的数据中不为空的个数。
本文第二节示例中,在模板 E2 单元格加入公式:=count(B2{B2!='孙林'}),如下图所示:
保存模板,效果见本文 1.1 节。
若需要进行多条件判断,可嵌套公式,例如想要计算除了「孙林」并且销售地区为「华东」的销售员个数,可以使用公式:count(B2{B2!='孙林'&&A2='华东'}) 或者 count(B2{AND(B2!='孙林',A2='华东')}),如下图所示:
公式说明:
公式 | 说明 |
---|---|
B2!='孙林'&&A2='华东' 或者 AND(B2!='孙林',A2='华东') | 同时满足不是「孙林」并且销售地区为「华东」的销售员 |
count(B2{B2!='孙林'&&A2='华东'}) 或者 count(B2{AND(B2!='孙林',A2='华东')}) | 同时满足不是「孙林」并且销售地区为「华东」的销售员个数 |
注1:若需要多个条件中任一条件符合即计数,可使用 OR 函数。
注2:11.0.4 版本支持使用COUNTIFS 函数。
4. 模板下载
点击下载模板:count函数使用.cpt