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

Google Sheet客户流失判定:求E、F列公式实现客户状态与末次订阅日期

解决方案:Google Sheets 订阅客户状态与末次日期计算

列F:末次订阅日期(从F2单元格开始)

公式:

=MAXIFS($B:$B, $A:$A, $A2)

逻辑说明:通过MAXIFS函数匹配当前行的客户ID(A2),在所有订阅日期(B列)中筛选出该客户的最大日期,即为该客户的末次订阅日期。


列E:客户状态(流失/现有客户,从E2单元格开始)

公式:

=LET(
  last_date, F2,
  last_sub_type, XLOOKUP(last_date, $B:$B, $C:$C, "", 0, 1),
  days_elapsed, TODAY() - last_date,
  IF(
    OR(
      AND(last_sub_type="monthly", days_elapsed>90),
      AND(last_sub_type="yearly", days_elapsed>455)
    ),
    "流失",
    "现有客户"
  )
)

逻辑说明:

  1. 用LET函数定义变量简化公式,避免重复计算:
    • last_date:引用F列的末次订阅日期
    • last_sub_type:通过XLOOKUP匹配末次日期对应的订阅类型(月度/年度)
    • days_elapsed:计算当前日期与末次订阅日期的间隔天数
  2. 流失判定:
    • 若末次订阅为月度,且间隔超过90天 → 判定为「流失」
    • 若末次订阅为年度,且间隔超过455天(365天+90天缓冲期) → 判定为「流失」
    • 其他情况均为「现有客户」

补充优化:如果需要处理无订阅记录的空白行,可在公式外层添加IFERROR:

=IFERROR(
  LET(
    last_date, F2,
    last_sub_type, XLOOKUP(last_date, $B:$B, $C:$C, "", 0, 1),
    days_elapsed, TODAY() - last_date,
    IF(
      OR(
        AND(last_sub_type="monthly", days_elapsed>90),
        AND(last_sub_type="yearly", days_elapsed>455)
      ),
      "流失",
      "现有客户"
    )
  ),
  "无订阅记录"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:30:52