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

Google Sheets按相同ID分组计算相邻日期间隔及总天数实现问题

按ID分组计算日期间隔实现方案

同组相邻日期间隔(C列)

在C2单元格输入以下数组公式,无需手动下拉,会自动填充所有有效行:

={"Days Since Previous Payment";ARRAYFORMULA(IF(B3:B="",,IF(B3:B<>B2:B,,A3:A-A2:A)))}

逻辑:

  • 若当前行ID为空则返回空值
  • 若当前行ID与上一行ID不同(即该ID组的第一条记录),返回空值
  • 同组内直接用当前行日期减去上一行日期,得到间隔天数

同组累计总间隔天数(D列)

在D2单元格输入以下数组公式,自动完成全列计算:

={"累计总间隔天数";SCAN(0,SEQUENCE(ROWS(A3:A)),LAMBDA(acc,idx,IF(idx=1,0,IF(INDEX(B3:B,idx)<>INDEX(B2:B,idx),0,acc+IF(INDEX(A3:A,idx)-INDEX(A2:A,idx)>0,INDEX(A3:A,idx)-INDEX(A2:A,idx),0)))))}

逻辑:

  • 通过SCAN迭代函数做累计计算,遇到新ID时自动重置累计值为0
  • 同组内累加每一次的相邻间隔,得到当前行对应的累计总间隔

原有逻辑问题说明

你之前的两段代码无法结合的核心问题是间隔计算逻辑没有加入同ID校验规则,只需要在计算日期间差前增加上下行ID一致性判断,即可避免跨组计算的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:39:02