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

跨年度月内周数序列异常:Excel公式修改方案咨询

解决跨年度时每月重置周数的公式修改方案

原公式依赖将每月日期映射到当年1月的对应日期计算周数,这种逻辑在跨年度时会混淆年度周数与月度周数的计算规则,导致结果失效。以下是修正后的公式,可实现每月首个周一到来时重置周数为1,且跨年度正常运行:

修正公式

=INT(([@dates] - (DATE(YEAR([@dates]), MONTH([@dates]), 1) + (7 - WEEKDAY(DATE(YEAR([@dates]), MONTH([@dates]), 1), 3)) % 7)) / 7) + 1

公式逻辑说明

  1. 定位当月第一个周一
    先用DATE(YEAR([@dates]), MONTH([@dates]), 1)获取当前日期所在月份的第一天,再通过WEEKDAY(..., 3)(周一为0、周日为6的规则)计算出到当月首个周一的偏移天数,两者相加得到当月第一个周一的准确日期。
  2. 计算月度相对周数
    用当前日期减去当月第一个周一的日期得到间隔天数,将间隔天数除以7取整后加1,即可得到当前日期在当月的周数——首个周一周数为1,之前的日期会返回0,代表属于上个月的周数,完全匹配原方案“首个周一到来时重置周数”的需求。

可选调整:当月全日期从第1周起算

如果希望当月所有日期都从第1周开始计算(无需区分首个周一前后),可使用以下变体公式:

=MAX(1, INT(([@dates] - (DATE(YEAR([@dates]), MONTH([@dates]), 1) + (7 - WEEKDAY(DATE(YEAR([@dates]), MONTH([@dates]), 1), 3)) % 7)) / 7) + 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:23:11