Excel中如何按起止日期统计每日活跃工单数量并生成折线图
动态统计每日活跃工单并生成折线图(Excel实用方案)
一、先修正你的统计公式错误
你之前用COUNTIF搭配AND的写法无效,因为COUNTIF不支持多条件的数组逻辑判断。换成以下两种可行写法:
方法1:SUMPRODUCT(兼容所有Excel版本)
在日期单元格(如cpd!B4)对应的统计格输入:
=SUMPRODUCT(--('SHE Tracker'!R:R<=cpd!B4),--('SHE Tracker'!N:N>=cpd!B4))
--的作用是把逻辑判断的TRUE/FALSE转换为1/0,SUMPRODUCT会累加同时满足「开始日期≤当日」和「结束日期≥当日」的工单数量。
方法2:COUNTIFS(更高效,支持Excel 2007及以上)
=COUNTIFS('SHE Tracker'!R:R,"<="&cpd!B4,'SHE Tracker'!N:N,">="&cpd!B4)
直接用多条件计数函数,逻辑更直观,计算速度比SUMPRODUCT更快。
二、无需手动维护的动态方案
方案1:动态数组一键生成(Excel 365/2021专属)
如果用的是支持动态数组的Excel版本,完全不用手动拉日期序列:
- 在新工作表(如
cpd)的B1单元格输入公式,自动生成从最早工单开始日到2025年12月31日的所有日期:=SEQUENCE(DATE(2025,12,31)-MIN('SHE Tracker'!R:R)+1,1,MIN('SHE Tracker'!R:R)) - 在C1单元格输入统计公式,自动批量计算所有日期的活跃工单数:
=BYROW(B#:B#,LAMBDA(date,COUNTIFS('SHE Tracker'!R:R,"<="&date,'SHE Tracker'!N:N,">="&date)))
后续新增工单时,Excel会自动更新日期序列和统计结果,直接刷新图表即可。
方案2:数据透视表+辅助列(兼容全版本)
想用数据透视表实现的话,先给原始数据加一个日期展开辅助列:
- 在
SHE Tracker表新增一列命名为活跃日期,第一行(对应工单数据行)输入:
(R列是=IFERROR(SEQUENCE(N2-R2+1,1,R2),"")PST SHE Date,N列是To CM Date,N2/R2是第一行工单的起止日期单元格)下拉填充后,每个工单的起止日期会自动展开成一列连续日期。 - 选中所有原始数据(含新辅助列),插入数据透视表:
- 行区域:拖入
活跃日期 - 值区域:拖入
PST ID,设置值字段为「计数」
- 行区域:拖入
- 将透视表的日期分组为「每日」,直接基于透视表生成折线图。后续新增工单后,右键点击透视表选择「刷新」,统计和图表就会自动更新。
三、性能优化提示
- 避免整列引用(如
R:R),改用实际数据范围(如R2:R1000),减少公式计算量。 - 动态数组方案需确保Excel开启了动态数组功能:文件>选项>高级>勾选「启用动态数组公式」。
内容的提问来源于stack exchange,提问作者user22518820
相关产品推荐
相关产品推荐

