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

如何使用SEQUENCE与FILTER函数生成指定规则的轮值排班日期

谷歌表格轮值排班日期生成解决方案

问题核心

你原有公式=SEQUENCE(B8,1,A5,A8*7)仅生成每隔指定轮值周数的「起始日当天」的日期序列,数据源仅包含起始日对应星期的日期,自然无法筛选出其他指定星期的结果。

可用公式(适配谷歌表格/Excel 365)

=SORT(
  LET(
    target_weekdays, XMATCH({"Thursday","Friday"},{"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}),
    cycle_days, A8*7,
    first_valid, BYCOL(target_weekdays, LAMBDA(w, A5 + MOD(w - WEEKDAY(A5,2),7))),
    max_cycles, ROUNDUP((B5 - A5)/cycle_days,0)+1,
    all_dates, TOCOL(first_valid + SEQUENCE(max_cycles,1,0,cycle_days)),
    FILTER(all_dates, all_dates <= B5)
  )
)

参数说明

  • 公式内A5对应你表格中的开始日期单元格
  • 公式内B5对应你表格中的结束日期单元格
  • 公式内A8对应你表格中的轮值周数字段
  • 公式内{"Thursday","Friday"}可替换为你存放选定星期的单元格区域,例如你的选定星期存放在D2:D3区域,直接替换为D2:D3即可

验证结果

用你给出的示例参数计算,输出结果完全匹配需求:

06/01/22
07/01/22
10/02/22
11/02/22
07/03/22
08/03/22

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:05