
你当然能快速说出:4 月有 30 天;而 2050 年 2 月是平年,所以只有 28 天。但若要在 Excel 中自动、通用、无误地计算任意年份、任意月份的天数,就不能靠心算——得靠公式。
Excel 虽未内置 =DAYSINMONTH(年,月) 这样的函数,但凭借 DATE、EOMONTH 和 DAY 三个基础函数的组合,即可精准实现。
✅ 第一步:构造该月第 1 天,并获取其所在月的最后一天
利用 DATE(年,月,1) 得到指定年月的首日(如 DATE(2050,2,1) → 2050-02-01),再用 EOMONTH(..., 0) 返回同月月末日期:
=EOMONTH(DATE(年, 月, 1), 0)
✅ 第二步:从月末日期中提取“日”数值,即该月总天数DAY 函数可直接返回任一日期在当月的第几天。对月末日期使用 DAY,结果就是该月的天数:
=DAY(EOMONTH(DATE(年, 月, 1), 0))
? 示例验证:
- 计算 2050 年 2 月天数 →
=DAY(EOMONTH(DATE(2050,2,1),0))→ 返回 28 - 计算 2024 年 2 月天数 → 同样公式 → 返回 29(闰年)
- 计算 2026 年 4 月天数 → 返回 30
? 小贴士:
- 公式中「年」「月」可为单元格引用(如 A1、B1),支持批量计算;
-
DATE函数会自动校正非法输入(如DATE(2026,13,1)视为 2027-01-01),因此公式鲁棒性强; - 无需担心格式问题——只要参与运算的是有效日期序列值,结果恒准确。
掌握这一逻辑,不仅能求天数,还能轻松延伸至:本月工作日数、剩余天数、首日/末日自动填充等实用场景。











