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

Google Sheets公式开发:重复项忽略首项并累加7天日期

Google Sheets公式:重复项日期累加7天(忽略首个实例)

需求实现

针对你的场景,我们需要达成:

  • 根据C列内容匹配A列原始数据,提取B列对应的初始日期
  • 首个匹配实例保留原日期,后续每个重复实例在原日期基础上累加7天
  • 当B列对应单元格为空时,D列自动留空;后续B列填入日期后,D列同步更新

下拉式公式(逐行适用)

在D1单元格输入以下公式,然后下拉填充至所有需要的行:

=IFERROR(VLOOKUP(C1,A:B,2,FALSE)+(COUNTIF($C$1:C1,C1)-1)*7,"")

公式拆解

  • VLOOKUP(C1,A:B,2,FALSE):精准匹配C1在A列对应的B列初始日期,若匹配失败(如B列空、C列内容不在A列)则返回错误
  • COUNTIF($C$1:C1,C1)-1:统计从C1到当前行中,当前C列内容出现的次数,减1后得到需要累加7天的次数(首个实例次数为1,减1后为0,不加天数;第二个实例次数为2,减1后为1,加7天,以此类推)
  • IFERROR(..., ""):捕获VLOOKUP的错误结果,返回空值,符合空值处理需求

数组公式(一键批量填充)

如果希望一次性处理整个D列,无需手动下拉,可使用数组公式(直接在D1单元格输入即可):

=ARRAYFORMULA(IF(C:C="", "", IFERROR(VLOOKUP(C:C,A:B,2,FALSE)+(COUNTIFS(C:C,C:C,ROW(C:C),"<="&ROW(C:C))-1)*7,"")))

数组公式补充说明

  • ARRAYFORMULA:让公式批量作用于C列所有行
  • COUNTIFS(C:C,C:C,ROW(C:C),"<="&ROW(C:C)):替代下拉版的COUNTIF,实现对每一行的累计计数,统计当前行及以上相同内容的出现次数
  • IF(C:C="", "", ...):C列空白行直接返回空值,避免无效计算

验证示例

对应你给出的示例数据:

  • C1的APPLES:COUNTIF结果为1,减1后0,D1=3/10/23
  • C2的APPLES:COUNTIF结果为2,减1后1,D2=3/10/23+7=3/17/23
  • C6的APPLES:COUNTIF结果为3,减1后2,D6=3/10/23+14=3/24/23
  • B列空的TURNIPS:VLOOKUP返回错误,D列留空
    完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:23:37