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

Excel匹配预定义字符串的行的条件求和及员工每周预约量(含休假排除)统计公式求助

Excel匹配预定义字符串的行的条件求和及员工每周预约量(含休假排除)统计公式求助

嘿,我完全懂你现在的困扰——要统计每个员工每周提供的不同预约类型数量,还得自动排除他们休假的时段,试了SUMIF加TEXTSPLIT组合没搞定对吧?别慌,咱们结合你的需求一步步来解决。

先明确核心目标:

  • 按日历周分组,统计单个员工的不同预约类型数量
  • 自动排除该员工处于休假状态的日期/周对应的记录

我结合常见的Excel数据结构,给你两种适配不同版本的公式方案:

方案一:适用于Excel 365/2021(动态数组支持)

假设你的数据源表结构是:

  • A列:员工姓名
  • B列:预约日期
  • C列:预约类型
  • D列:休假标记(比如休假时填“休假”,正常预约为空)

如果要统计F2单元格指定员工、G2单元格指定日历周的不同预约数量,公式可以这么写:

=COUNTA(UNIQUE(FILTER(C:C, (A:A=F2)*(ISOWEEKNUM(B:B)=G2)*(D:D<>"休假"))))

拆解一下逻辑:

  1. FILTER(C:C, ...):筛选出三个条件同时满足的预约类型——员工匹配、日期属于目标周、不是休假记录
  2. UNIQUE(...):从筛选结果里提取不重复的预约类型
  3. COUNTA(...):统计这些不同类型的数量

如果你的休假记录是单独的表格(比如有一张休假表,B列是休假日期),那公式调整为判断预约日期是否在休假范围内:

=COUNTA(UNIQUE(FILTER(C:C, (A:A=F2)*(ISOWEEKNUM(B:B)=G2)*(NOT(ISNUMBER(XMATCH(B:B, 休假表!B:B)))))))

方案二:兼容旧版Excel(无动态数组支持)

如果你的Excel版本不支持动态数组,用SUMPRODUCT结合COUNTIFS来实现去重统计:

=SUMPRODUCT((A:A=F2)*(ISOWEEKNUM(B:B)=G2)*(D:D<>"休假")/COUNTIFS(A:A,A:A,B:B,B:B,C:C,C:C,A:A,F2,ISOWEEKNUM(B:B),G2,D:D,"<>休假"))

这个公式通过SUMPRODUCT筛选符合条件的行,再用COUNTIFS去除同一员工同周内重复的预约类型,最终求和得到不同类型的数量。

特殊情况:单个单元格含多个预约类型

如果你的C列是用分隔符(比如逗号)分隔的多个预约类型,那需要先拆分再统计,公式调整为:

=COUNTA(UNIQUE(TEXTSPLIT(TEXTJOIN(",",TRUE,FILTER(C:C, (A:A=F2)*(ISOWEEKNUM(B:B)=G2)*(D:D<>"休假"))),",")))

逻辑是先筛选符合条件的多类型单元格,合并成字符串后拆分,最后去重统计数量。

你可以根据自己的实际数据列引用调整公式,应该就能得到你需要的红色统计数字啦!

备注:内容来源于stack exchange,提问作者st4co4

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 07:29:40