You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Excel公式按日历周对主组求和(排除子组重复统计)

需求说明

仅使用Excel公式(禁用VBA),按日历周统计A-H列中有数值的主组数量:每个主组(如Group 1、Group 2)在对应周内只要任意子组(如1a、1b)有数值,就计为1,最终求和该周符合条件的主组总数。示例中第1周结果为3,对应Group 1、Group 2、Group 4在该周有数值。

示例数据

Group 1Group 1Group 2Group 2Group 3Group 3Group 4Group 4日期年份周SUM
1a1b2a2b3a3b4a4b2025/1/120251
112025/1/120251
12025/1/220251
12025/1/320251
12025/1/320251
12025/1/320251
112025/2/820256
112025/2/920257
1112025/2/1020257
1112025/2/1120257
公式解决方案

1. 兼容旧版Excel(无动态数组)

在第一个SUM单元格(如L2)输入以下公式,按回车后下拉填充至所有行:

=
--(COUNTIFS(K$2:K$11,K2,A$2:A$11,"<>")+COUNTIFS(K$2:K$11,K2,B$2:B$11,"<>")>0)+
--(COUNTIFS(K$2:K$11,K2,C$2:C$11,"<>")+COUNTIFS(K$2:K$11,K2,D$2:D$11,"<>")>0)+
--(COUNTIFS(K$2:K$11,K2,E$2:E$11,"<>")+COUNTIFS(K$2:K$11,K2,F$2:F$11,"<>")>0)+
--(COUNTIFS(K$2:K$11,K2,G$2:G$11,"<>")+COUNTIFS(K$2:K$11,K2,H$2:H$11,"<>")>0)

公式逻辑:

  • 对每个主组的两列,分别统计当前周内有非空值的行数,相加后若大于0,说明该主组本周有数值,用--转换为1,否则为0
  • 四个主组的结果相加,即为该周符合条件的主组总数

2. Excel 365/2021 动态数组公式

在L2单元格输入以下公式,按回车后自动填充所有行:

=BYROW(K2:K11,LAMBDA(week,SUM(--(MMULT(--(COUNTIFS(K$2:K$11,week,OFFSET(A$2:A$11,,SEQUENCE(4)*2-2,ROWS(A$2:A$11),2),"<>")>0),{1;1})>0))))

公式逻辑:

  • 用SEQUENCE生成主组的起始列索引,OFFSET批量提取每个主组的两列数据
  • COUNTIFS统计对应周内的非空值行数,MMULT判断主组两列是否至少有一个非空值
  • BYROW遍历所有行,自动计算每行对应周的主组数量

验证结果

  • 第1周(周=1):SUM=3(Group1、Group2、Group4有数值)
  • 第6周(周=6):SUM=2(Group2、Group3有数值)
  • 第7周(周=7):SUM=4(四个主组均有数值)

内容的提问来源于stack exchange,提问作者Code_Z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:28:12