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

如何使用COUNTIFS统计指定日期范围内的唯一首单客户数

问题解答

纯COUNTIFS函数无法直接实现该统计需求,核心限制如下:

  • COUNTIFS不支持传入多单元格区域作为逐行比对的条件参数,你原公式中"="&Sheet1!$B$2:$B$20000的写法不会逐行判断A、B列值是否相等,仅会匹配B列首个单元格的值,无法实现首单记录筛选
  • COUNTIFS无原生去重计数能力,就算条件判断逻辑正常,返回的也是符合条件的订单行数,无法统计唯一客户ID数量
  • 你原公式还存在引用错误:第三个条件的工作表名写为Sheet!,漏写数字1,正确引用应为Sheet1!

你的需求可以拆解为三步逻辑实现:

  1. 筛选出A列(首单日期)=B列(订单日期)的首单记录行
  2. 从上述记录中筛选出首单日期落在指定起止日期区间内的行
  3. 对筛选结果的客户ID去重后计数

适配Excel 365/2021及以上版本的实现方案

直接使用以下公式,输入完成后直接回车即可返回正确结果:

=ROWS(UNIQUE(FILTER(Sheet1!$C$2:$C$20000,(Sheet1!$A$2:$A$20000=Sheet1!$B$2:$B$20000)*(Sheet1!$A$2:$A$20000>=Sheet2!E$2)*(Sheet1!$A$2:$A$20000<=Sheet2!E$3))))

公式逻辑:

  • 用FILTER筛选同时满足「首单记录、日期在起止区间内」三个条件的客户ID列
  • 用UNIQUE对筛选出的客户ID做去重处理
  • 用ROWS统计去重后的ID数量,即为最终结果
    用你提供的样例数据验证:
  • 日期范围选3月时,返回结果为1(仅客户2符合)
  • 日期范围选1月时,返回结果为1(仅客户1符合)
  • 日期范围选4月时,返回结果为2(客户3、客户4符合),完全匹配预期结果

适配Excel 2019及更早旧版本的实现方案

旧版Excel无FILTER、UNIQUE函数,可使用SUMPRODUCT搭配COUNTIFS实现,输入完成后直接回车即可:

=SUMPRODUCT((Sheet1!$A$2:$A$20000=Sheet1!$B$2:$B$20000)*(Sheet1!$A$2:$A$20000>=Sheet2!E$2)*(Sheet1!$A$2:$A$20000<=Sheet2!E$3)/COUNTIFS(Sheet1!$A$2:$A$20000,Sheet1!$A$2:$A$20000,Sheet1!$B$2:$B$20000,Sheet1!$B$2:$B$20000,Sheet1!$C$2:$C$20000,Sheet1!$C$2:$C$20000))

该公式通过除以重复记录权重的方式实现去重计数,计算结果与新版公式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:15:41