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

如何在Google Sheets中计算特定日历周归属某月份的天数?

计算特定日历周中归属指定月份的天数

核心思路

先定位目标日历周的起止日期,再计算该日期区间与目标月份的重叠天数,用MAX/MIN取两个区间的交集后计算天数。

假设参数

设单元格对应内容:

  • A1:目标年份(如2022)
  • B1:目标日历周(如48)
  • C1:目标月份(如12)
  • 周起始为周一(对应WEEKDAY函数参数2,若需周日起始可调整参数为1)

完整公式

=MAX(0,MIN(DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1),2),DATE(A1,C1+1,0)) - MAX(DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1),2)-6,DATE(A1,C1,1)) +1)

公式拆解

  1. 计算目标周起止日期
    • 周第一天:DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1),2)-6
    • 周最后一天:DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1),2)
  2. 定位目标月份边界
    • 目标月第一天:DATE(A1,C1,1)
    • 目标月最后一天:DATE(A1,C1+1,0)(日参数为0时返回上月最后一天,即C1月的最后一天)
  3. 计算重叠天数
    • 取两个区间的交集起始:MAX(周第一天, 目标月第一天)
    • 取两个区间的交集结束:MIN(周最后一天, 目标月最后一天)
    • 用MAX(0, ...)避免无重叠时返回负数,最终天数=结束日-起始日+1

示例验证

输入A1=2022、B1=48、C1=12:

  • 目标周起止:2022-11-28 至 2022-12-04
  • 目标月边界:2022-12-01 至 2022-12-31
  • 重叠区间:2022-12-01 至 2022-12-04,天数=4,与预期一致

周日起始周的调整

若周起始为周日(WEEKDAY参数1),将公式中周起止的计算替换为:

  • 周第一天:DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1),1)
  • 周最后一天:DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1),1)+6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:00:23