ARTICLE · 1048316
别再按“30天”算月份了!Excel 两个函数组合,1秒算出每月天数

做工资表、排考勤、算账单周期、统计月度数据……几乎每张和日期打交道的表格,都会遇到同一个问题:这个月到底有几天?
1、3、5、7、8、10、12月是31天,4、6、9、11月是30天,2月平年28天、闰年29天。口诀谁都能背出来,可真到写公式的时候,很多人还是图省事,一律按30天算。
于是,月末账单对不上、考勤多算一天、项目周期差出好几天。其实 Excel 早就有标准答案,只是需要两个函数配合使用。
01 先认识两个函数
EOMONTH(日期, 间隔):END OF MONTH 的缩写,返回与指定日期相隔若干个月的那一个月的最后一天。间隔可以是正数、负数,也可以是0。
间隔为0,表示当月;间隔为1,表示下个月;间隔为-1,表示上个月。
DAY(日期):返回日期中的“日”,也就是这个日期是几号。比如 DAY(2026-02-15) 返回15。
两个函数单独看都很简单,组合起来却刚好解决“每月有几天”的问题:先用 EOMONTH 找到某个月的最后一天,再用 DAY 把“最后一天”的数字取出来——那不就是这个月的天数吗?
02 一个公式,自动算出每月天数
在 B2 单元格输入:
=DAY(EOMONTH(A2,0))
下拉复制公式即可。A列填日期,B列自动显示对应月份的天数。无论2月是28天还是29天,无论碰上31天的大月,公式都能自动识别,不用背口诀,也不用手动改。
03 三个实用小技巧
技巧一:间隔数字灵活用。0是当月,填1就算下个月的天数,填-1就算上个月的天数。做“下月排期”“上月复盘”时,改一个数字就行。
技巧二:日期格式更清爽。选中日期列,把单元格格式自定义为 YYYY-MM,表格只显示“年月”,公式结果不受任何影响。
技巧三:闰年判断交给 Excel。只要单元格里是合法日期,比如 2026-02-15,公式就会自动返回28或29,平年闰年不用自己记。
04 记住这一点
以后遇到“某月有几天”的计算,别再背口诀、别再按30天估算,直接写:
=DAY(EOMONTH(日期, 0))
一句话记住:让 EOMONTH 找到月末,让 DAY 读出天数。
下次做表格时,试着把“30天”换成这个组合公式。省下的不只是几秒钟,还有那些因为多算、少算带来的返工。
如果你也有一个被 Excel 公式困扰的小问题,欢迎在评论区留言,我们下期帮你拆解。
知识点
EOMONTH(日期, 间隔):返回指定日期所在月(或前后某月)的最后一天
DAY(日期):返回日期的“日”,即几号
