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

Google Sheets计算列中当前与同值上一单元格的间隔行数

解决Google Sheet员工班次距上次天数计算问题

原始数据表格

日期星期员工
10/1/2023SundaySmith
10/2/2023MondayBaker
10/3/2023TuesdayJohnson
10/4/2023WednesdaySmith
10/5/2023ThursdayJohnson
10/6/2023FridaySmith
10/7/2023SaturdayBaker
10/8/2023SundayJohnson
10/9/2023MondayJohnson
10/10/2023TuesdaySmith
10/11/2023WednesdayBaker
10/12/2023ThursdayBaker
10/13/2023FridayJohnson

实现步骤

  1. 在表格右侧插入新列(比如D列),在D1单元格输入标题距上次班次天数。
  2. 在D2单元格输入以下公式,然后下拉填充到所有行:
    =IF(COUNTIF($C$1:C1,C2)=1, 0, A2-LOOKUP(2, 1/($C$1:C1=C2), $A$1:A1))
    

公式说明

  • COUNTIF($C$1:C1,C2)=1:判断当前员工在之前的记录中是否是首次出现,若是则返回0。
  • LOOKUP(2, 1/($C$1:C1=C2), $A$1:A1):定位当前员工上一次排班的日期——通过生成匹配数组,找到最后一次出现该员工时对应的日期。
  • A2-...:用当前班次日期减去上一次排班日期,得到间隔天数。

验证结果

计算后关键行完全符合需求:

  • 10/1/2023的Smith:首次出现,值为0
  • 10/4/2023的Smith:10/4 - 10/1 = 3,值为3
  • 10/2/2023的Baker:首次出现,值为0
  • 10/7/2023的Baker:10/7 - 10/2 = 5,值为5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:17:12