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

半月动态更新工单编号公式异常求助

问题排查与修正方案

原公式核心问题

原公式通过当前日期与A11的间隔天数除以15计算周期序号,逻辑完全不符合需求:

  • 仅以A11为起点计数,导致五月上半月所有日期的周期序号都是1(显示001)
  • 无法处理跨月的半月周期规则,更无法实现从004开始递增的要求

修正后的公式

=MAP(A11:A26, LAMBDA(date,
    IF(ISNUMBER(date),
        LET(
            prefix, "ACE-" & YEAR(date) & "-",
            // 计算当前日期所属的年度内半月周期序号(1月上=1,1月下=2...5月上=9,以此类推)
            current_half_month, (MONTH(date)-1)*2 + IF(DAY(date)<=15, 1, 2),
            // 设定起始周期:2024年5月上半月对应的年度序号是9,对应工单编号末尾004
            start_half_month, 9,
            start_seq, 4,
            // 计算当前工单的序号
            seq_num, current_half_month - start_half_month + start_seq,
            seq, TEXT(seq_num, "000"),
            prefix & seq
        ),
        ""
    )
))

逻辑说明

  1. 年度半月周期计算:通过(MONTH(date)-1)*2 + IF(DAY(date)<=15,1,2),把每个月拆成两个周期,1-15号为当月第一个周期,16号至月末为第二个周期,生成年度内连续的周期序号。
  2. 起始规则匹配:2024年5月上半月对应的年度周期序号是9,用户要求该周期对应工单编号末尾004,因此用current_half_month - start_half_month + start_seq计算当前周期的工单序号。
  3. 格式处理:用TEXT(seq_num, "000")把序号格式化为三位带前导零的数字。

验证效果

  • 5/1-5/15:current_half_month=9 → 9-9+4=4 → 显示ACE-2024-004
  • 5/16-5/31:current_half_month=10 → 10-9+4=5 → 显示ACE-2024-005
  • 6/1-6/15:current_half_month=11 → 11-9+4=6 → 显示ACE-2024-006
  • 后续每半月自动递增1,完全符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 01:10:15