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

如何在Google Sheets中用筛选公式按日期提取文本列并统计周期活跃客户?

解决Google Sheets年度/月度活跃客户统计问题

核心逻辑

活跃客户的判定规则:客户从激活日期起,每个周期(年/月)都算作活跃,直到流失日期所在周期为止;如果状态为Live(未流失),则持续统计到当前周期。

简单说:只要客户在目标周期内的任意一天处于活跃状态(激活在周期前/内,且流失在周期后/未流失),就计入该周期的活跃客户。

年度统计方案

统计活跃客户数量

以2021年为例,使用SUMPRODUCT公式一次性覆盖两种情况(未流失+当年流失):

=SUMPRODUCT(
  (B:B <= DATE(2021,12,31)) *
  ((C:C >= DATE(2021,1,1)) + (D:D = "Live"))
)

公式说明:

  • B:B <= DATE(2021,12,31):客户激活日期不晚于2021年底
  • (C:C >= DATE(2021,1,1)):客户流失日期在2021年及之后(含当年流失)
  • (D:D = "Live"):客户未流失
  • * 表示逻辑与,+ 表示逻辑或,SUMPRODUCT会自动将布尔值转为1/0计算总数

列出活跃客户ID

如果需要直接展示活跃客户列表,用FILTER公式:

=FILTER(A:A,
  B:B <= DATE(2021,12,31),
  (C:C >= DATE(2021,1,1)) + (D:D = "Live")
)

月度统计方案

逻辑和年度一致,仅需替换日期范围:

统计2022年1月活跃客户数量

=SUMPRODUCT(
  (B:B <= DATE(2022,1,31)) *
  ((C:C >= DATE(2022,1,1)) + (D:D = "Live"))
)

列出2022年1月活跃客户ID

=FILTER(A:A,
  B:B <= DATE(2022,1,31),
  (C:C >= DATE(2022,1,1)) + (D:D = "Live")
)

你之前公式的问题

你写的= filter(<Col a>, <colb>="<=2022-12-31",<Col D>="Live")无效的原因:

  1. 日期比较不能用引号包裹,正确写法是直接和DATE()函数生成的日期对比,而非字符串
  2. 只筛选了Live状态的客户,漏掉了当年流失的客户(这些客户在流失前仍属于当年活跃)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:22:45