大家好,我是小站!
做表时,你可能经常遇到这些问题:
想自动显示“今天日期”,每天手动改?
计算员工工龄(几年几个月),一个个数?
计算两个日期之间有多少天、多少月?
想求“下个月的同一天”或“月底是哪天”?
日期如果靠手算,不仅麻烦,还容易错。
今天讲 6个Excel日期函数,让日期自动计算。

一、TODAY 和 NOW|自动更新当前日期/时间
TODAY:返回当前日期(随系统日期自动更新)=TODAY() → 结果:2026/5/12(例子)
NOW:返回当前日期+时间=NOW() → 结果:2026/5/12 14:30
典型用途:
合同到期倒计时:
=到期日 - TODAY()数据更新时间戳:用NOW,每次打开自动刷新
⚠️ TODAY和NOW是易失函数,每次重算都会更新。如果想把某个日期固定下来,复制 → 粘贴数值。
二、YEAR / MONTH / DAY|从日期中提取年、月、日
语法:=YEAR(日期) → 返回年份=MONTH(日期) → 返回月份(1-12)=DAY(日期) → 返回日(1-31)
案例:从“2026-05-12”中提取年、月、日
=YEAR(A1) | |
=MONTH(A1) | |
=DAY(A1) |
典型用途:按月份汇总数据(配合SUMIFS)、生成季度。
三、DATEDIF|计算两个日期的差值(工龄、年龄、倒计时)
语法:=DATEDIF(开始日期, 结束日期, "单位")
单位参数:
"Y"→ 整年数(年龄、工龄)"M"→ 整月数"D"→ 天数"YM"→ 忽略年份的月数(用于“X年Y月”中的Y)"MD"→ 忽略年份和月份的天数
案例1:计算年龄(整岁)
=DATEDIF(出生日期, TODAY(), "Y")
案例2:计算工龄(X年Y月)
=DATEDIF(入职日期, TODAY(), "Y") & "年" & DATEDIF(入职日期, TODAY(), "YM") & "月"
案例3:计算两个日期之间有多少天(合同剩余天数)
=DATEDIF(TODAY(), 到期日, "D")
⚠️ DATEDIF 是隐藏函数,Excel有提示但能正常使用。如果出错,检查开始日期是否小于结束日期。
四、EDATE|几个月后的同一天(合同续签、到期提醒)
语法:=EDATE(开始日期, 月数)
案例:
合同签订日期 2026-01-15,试用期3个月后转正:
=EDATE("2026-01-15", 3)→ 2026-04-15计算还款日:
=EDATE(借款日, 12)→ 一年后同一天
五、EOMONTH|返回某月的最后一天(月底、月末统计)
语法:=EOMONTH(开始日期, 月数偏移)
案例:
当月最后一天:
=EOMONTH(TODAY(), 0)下个月最后一天:
=EOMONTH(TODAY(), 1)上月最后一天:
=EOMONTH(TODAY(), -1)
典型用途:配合SUMIFS统计整月数据。
写在最后
日期函数是Excel时间计算的“基石”。记住几个常用的:
建议收藏,下次遇到日期计算,直接对照着用。
历史相关参考:10秒学会Excel:多条件求和/计数|SUMIFS和COUNTIFS,比筛选再求和快10倍
觉得有用,点个“在看”吧~—— 每天10秒,学一个Excel小技巧
今日互动问题:你知道如何计算两个日期之间的工作日天数吗?
夜雨聆风