最新历史版本 :条件计数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

注:11.0.4 及之后版本支持使用层次坐标函数 COUNTIFS-条件计数 实现条件计数。

1.1 应用场景

条件计数,即统计满足某些条件的数据个数。

例如,统计每年应付金额大于 2500 的月份个数。如下图所示:

2.jpg

1.2 实现思路

通过 count() 函数结合层次坐标条件表达式实现。

2. 示例编辑

2.1 新建模板

新建一张普通报表,如下图所示:

新建普通报表.png

2.2 准备数据

新建数据库查询 ds1 ,输入 SQL语句:

SELECT STRFTIME('%Y',订购日期) AS 年份,STRFTIME('%m',订购日期) AS 月份,应付金额
FROM 订单
WHERE STRFTIME('%Y',订购日期) IN ('2010','2011')

表示从订单表中筛选 2010 年或 2011 年的年份(从 订购日期 字段中提取年份部分,命名为 年份 )、月份从 订购日期 字段中提取月份部分,命名为 月份 、应付金额,步骤如下图所示:

1.jpg

2.3 设计报表

1)A1~C1 单元格输入文本,合并 A2、A3 单元格,A2~C2 单元格拖入相应数据列,并将 C2 单元格的数据设置选择为「汇总>求和,如下图所示:

3.jpg

2)B3 单元格输入文本,C3 单元格插入层次坐标公式:COUNT(C2[!0]{A2 = $A2 && C2 > 2500}),C3 单元格的左父格保持为默认的 A2 单元格,如下图所示:

4.jpg

3)公式说明如下表所示:

公式拆解说明
COUNT( )统计括号里面所有数据的个数
C2[!0]{ }

返回单元格 C2 扩展出来的满足 { } 内条件表达式的单元格数据

A2 = $A2条件表达式的一部分,将计算限定在每个分组内,即每个年份各自统计自己的
C2 > 2500条件表达式的一部分,应付金额需要大于 2500

2.4 效果预览

1)PC端

保存模板,点击「分页预览」,效果如下图所示:

2.jpg

2)移动端

支持 App 和 HTML5 端预览,效果如下图所示:

5.jpg


3. 模板下载编辑

点击下载已完成模板:条件计数.cpt

4. 注意事项编辑

普通报表跨 sheet 时、FVS可视化看板或决策报表跨表格组件时,不支持使用此方法实现条件计数。

因为当涉及跨 sheet 或跨表格组件时,如果公式中包含了{}这种大括号的条件,则公式无效。

详情参见文档:跨sheet或跨报表块使用条件过滤无效