一文读懂Excel中的日期函数,事半功倍的操作,快点收藏~~
- 2026-09-22 20:36:03
02
TODAY 时间播报员
08
DATEDIF 时间差
09
EDATE/EOMONTH 推算
TEAM INTRO
日期时间函数是什么
Excel中的日期时间函数,就像一支掌控时间的魔法团队!它们不仅能精准报时,还能帮你组装日期、拆解时间、计算间隔、推算未来。合同到期提醒、工龄计算、项目排期、考勤统计……统统搞定!
魔法团成员关系:
通俗理解:
TODAY 像日历翻页机: 每天自动翻到最新一页,显示今天的日期
NOW 像电子手表: 不仅显示日期,还精确到时分秒,随时刷新
DATE 像日期组装工厂: 输入2026、8、4三个零件,组装出2026/8/4
YEAR/MONTH/DAY 像日期拆解器: 把2026/8/4拆成2026、8、4三个独立数字
DATEDIF 像时间差计算器: 输入两个日期,自动算出间隔多少年/月/天
EDATE 像月份快进键: 输入+3,日期自动跳到3个月后
⚠️ 重要提示
日期时间函数是Excel中最实用的函数之一,所有版本通用! 它们最大的威力在于“组合使用”——单个函数只能获取/组装/拆解, 但组合起来(如DATEDIF+TODAY)就能实现智能动态计算!
GET TODAY
TODAY 时间播报员
TODAY函数无需任何参数,自动返回当前系统日期。就像每天早上自动翻页的日历,你打开Excel,它就把今天的日期摆在你面前。
语法:
=TODAY()
参数说明:
TODAY函数没有任何参数!直接写 =TODAY() 即可。
实战示例1:获取今天日期
实战示例2:合同到期提醒
假设合同到期日在B2单元格,用TODAY计算距离到期还有多少天:
=B2-TODAY()
结果为正数表示还剩多少天,负数表示已过期多少天。配合IF函数可实现自动提醒:
=IF(B2-TODAY()<30,"即将到期","正常")
💡 实战技巧
TODAY函数返回的日期是“序列号”(如46238代表2026/8/4),可直接参与加减运算
日期加减1等于加减1天,加减30约等于加减1个月
TODAY每天打开文件时自动更新,适合做动态报表和倒计时
GET NOW
NOW 实时时钟
NOW函数和TODAY类似,但它更精确——不仅返回日期,还返回具体时间(时:分:秒)。就像一块实时走动的电子手表,每次Excel重新计算时都会刷新。
语法:
=NOW()
参数说明:
NOW函数也没有任何参数!直接写 =NOW() 即可。
实战示例:获取当前日期时间
💡 实战技巧
NOW返回的是“日期+时间”的组合序列号,整数部分是日期,小数部分是时间
INT(NOW()) = TODAY(),用INT可以去掉时间只保留日期
每次按F9或修改单元格,NOW都会重新计算并刷新时间
BUILD DATE
DATE 日期组装师
DATE函数根据你提供的年、月、日三个数字,组装成一个Excel能识别的标准日期。就像乐高积木,三个零件拼出一个完整的日期。
语法:
=DATE(年, 月, 日)
参数说明:
实战示例1:标准日期创建
实战示例2:动态日期计算
假设A2是年份、B2是月份、C2是日,用DATE组装日期:
=DATE(A2,B2,C2)
如果A2=2026、B2=8、C2=4,结果就是2026/8/4。
💡 核心要点
DATE函数是处理日期计算的基石,所有日期都可以拆解成年月日再重新组装
当day参数为0时,自动返回上个月的最后一天(如DATE(2026,6,0)=2026/5/31)
month和day支持超过正常范围,Excel会自动进位:DATE(2026,13,1)=2027/1/1
BUILD TIME
TIME 时间组装师
TIME函数和DATE类似,只不过它组装的是时间(时、分、秒)。输入三个数字,输出一个标准时间格式。
语法:
=TIME(小时, 分钟, 秒钟)
参数说明:
实战示例:组装时间
💡 核心要点
TIME返回的是0-1之间的小数(代表一天中的比例),如
5=12:00
小时超过23会自动进位到天:TIME(25,0,0)=1:00:00(第二天1点)
配合DATE可以组装完整的日期时间:DATE(2026,8,4)+TIME(14,30,0)=2026/8/4 14:30
SPLIT DATE
Y/M/D 日期拆解师
这三个函数是DATE的“反向操作”——把完整的日期拆解成年、月、日三个独立数字。就像吃橘子,DATE是把橘子瓣包成橘子,Y/M/D是把橘子剥开。
语法:
=YEAR(日期) =MONTH(日期) =DAY(日期)
实战示例:从日期中提取年月日
实战示例2:提取出生年份
假设身份证号在A2,出生日期是第7-14位,先用MID提取再用YEAR提取年份:
=YEAR(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)))
💡 核心要点
YEAR/MONTH/DAY是DATE的完美搭档:DATE提取年、月、日,Y/M/D还原回去
这三个函数返回的都是纯数字,可以直接参与数学运算
配合TEXT函数可以格式化输出:TEXT(A2,“yyyy年mm月dd日”)→2026年08月04日
SPLIT TIME
H/M/S 时间拆解师
和Y/M/D对应,这三个函数从时间中提取小时、分钟、秒。
语法:
=HOUR(时间) =MINUTE(时间) =SECOND(时间)
实战示例:从时间中提取时分秒
实战示例2:计算加班时长
假设下班时间在B2(18:30),用NOW()-B2计算加班时长,再用HOUR和MINUTE分别提取:
=HOUR(NOW()-B2)&"小时"&MINUTE(NOW()-B2)&"分钟"
💡 核心要点
HOUR返回0-23,MINUTE和SECOND返回0-59
时间相减的结果是小数,用HOUR提取整数小时部分
计算跨天的时间差时,建议加上日期:=HOUR((A2+B2)-(C2+D2))
DATE DIFF
DATEDIF 时间差
DATEDIF是Excel的“隐藏函数”(在函数向导里找不到),但功能极其强大!它能精确计算两个日期之间的年差、月差、天数。工龄计算、年龄计算、账期计算都离不开它。
语法:
=DATEDIF(开始日期, 结束日期, "单位")
单位代码说明:
实战示例1:计算年龄
假设出生日期在A2,计算到今天为止的完整年龄:
=DATEDIF(A2,TODAY(),"Y")&"岁"
结果:36岁(如果出生日期是1990/1/1)
实战示例2:计算工龄(X年Y个月)
假设入职日期在B2,计算工龄并显示“X年Y个月”格式:
=DATEDIF(B2,TODAY(),"Y")&"年"&DATEDIF(B2,TODAY(),"YM")&"个月"
结果:11年7个月(如果入职日期是2015/1/1)
实战示例3:计算账期天数
假设开票日期在C2,计算到今天已逾期多少天:
=DATEDIF(C2,TODAY(),"D")&"天"
💡 核心要点
DATEDIF是隐藏函数,输入时不会自动提示,但绝对可用
“Y”算整年,“M”算整月,“D”算总天数——三者结果完全不同
“YM”+“MD”组合可以精确到“X年Y个月Z天”
开始日期必须早于结束日期,否则会返回#NUM!错误
MONTH SHIFT
EDATE/EOMONTH 推算
EDATE负责“推”——从某个日期往前或往后推N个月;EOMONTH负责“找”——找到某个月的最后一天。合同到期、工资结算、贷款还款都靠它们。
语法:
=EDATE(开始日期, 月数) =EOMONTH(开始日期, 月数)
参数说明:
实战示例:月份推算
实战示例2:合同到期日计算
假设合同签订日在A2,合同期3年(36个月),计算到期日:
=EDATE(A2,36)
如果A2=2023/3/1,结果就是2026/3/1。
实战示例3:工资结算日
每月最后一天发工资,用EOMONTH自动找到当月最后一天:
=EOMONTH(TODAY(),0)
💡 核心要点
EDATE和EOMONTH的月数参数支持负数,负数表示往前推
EOMONTH(日期,0)是获取当月最后一天的经典写法
这两个函数会自动处理闰年和各月天数不同的问题
核心用途:合同到期提醒、工资结算日、贷款还款日、项目里程碑日期
WEEKDAY
WEEKDAY 星期识别
WEEKDAY告诉你某个日期是星期几。配合CHOOSE函数,还能直接显示“星期一”“星期二”等中文。
语法:
=WEEKDAY(日期, [返回类型])
返回类型对照表:
实战示例1:判断星期几
实战示例2:显示中文星期
配合CHOOSE函数,把数字转换成中文:
=CHOOSE(WEEKDAY(A2,2),"周一","周二","周三","周四","周五","周六","周日")
实战示例3:判断是否为周末
用IF判断今天是否是周末:
=IF(WEEKDAY(TODAY(),2)>5,"周末","工作日")
💡 核心要点
国内推荐用 return_type=2,这样周一=
周日=7,符合中国习惯
WEEKDAY返回的是数字,需要配合CHOOSE或IF才能显示中文
配合条件格式,可以自动把周末的行标成灰色或红色
WORKDAYS
NETWORKDAYS 工作日
NETWORKDAYS自动计算两个日期之间的工作日天数,自动排除周六周日,还能自定义排除法定节假日。项目排期、考勤统计、工期计算必备!
语法:
=NETWORKDAYS(开始日期, 结束日期, [假期列表])
参数说明:
实战示例1:计算工作日
实战示例2:项目工期计算
假设项目开始日在A2,结束日在B2,假期列表在C2:C10:
=NETWORKDAYS(A2,B2,$C$2:$C$10)&"个工作日"
💡 核心要点
NETWORKDAYS默认排除周六和周日,只计算周一到周五
第三个参数可以指定额外假期(如国庆、春节),用绝对引用$C$2:$C$10
如果需要自定义周末(如单休),用NETWORKDAYS.INTL函数
结果可以直接参与数学运算,如计算工资:=工作日*日薪
AUTOMATION
员工信息自动化
单独使用日期函数只能做简单操作,但组合起来就能实现全自动员工信息管理:输入出生日期和入职日期,自动计算年龄、工龄、合同到期日!
原始数据:
核心公式模板:
年龄计算:=DATEDIF(出生日期,TODAY(),"Y")&"岁" → 从出生日期到今天过了几年
工龄计算:=DATEDIF(入职日期,TODAY(),"Y")&"年"&DATEDIF(入职日期,TODAY(),"YM")&"个月" → 精确到年月
合同到期(3年):=EDATE(入职日期,36) → 入职3年后的日期
距离退休(男60岁):=DATE(YEAR(出生日期)+60,MONTH(出生日期),DAY(出生日期)) → 出生日期+60年
本月剩余工作日:=NETWORKDAYS(TODAY(),EOMONTH(TODAY(),0)) → 从今天到月底的工作日
本周第几天:=WEEKDAY(TODAY(),2) → 周一=1, 周日=7
完整演示:张三的信息提取
假设张三的出生日期在B2,入职日期在C2:
年龄:=DATEDIF(B2,TODAY(),"Y") → 36岁 工龄:=DATEDIF(C2,TODAY(),"Y")&"年"&DATEDIF(C2,TODAY(),"YM")&"个月" → 11年5个月 合同到期:=EDATE(C2,36) → 2018/3/1(假设签的3年合同) 退休日期:=DATE(YEAR(B2)+60,MONTH(B2),DAY(B2)) → 2050/1/1
💡 核心思路
日期时间函数的组合逻辑是:
TODAY获取当前日期 →
DATEDIF算差值 →
EDATE推算未来日期
YEAR/MONTH/DAY拆解日期 →
DATE重新组装 →
WEEKDAY判断星期 掌握这六步,任何日期计算问题都能迎刃而解!
TROUBLESHOOT
常见错误
使用日期时间函数时,这些坑你踩过吗?提前了解,少走弯路!
建议公式:
=TODAY() → 获取今天日期
=NOW() → 获取当前日期时间
=DATE(2026,8,4) → 组装指定日期
=YEAR(A2) → 提取年份
=DATEDIF(A2,TODAY(),"Y") → 计算年差
=EDATE(A2,3) → 3个月后的日期
=EOMONTH(A2,0) → 当月最后一天
=WEEKDAY(A2,2) → 判断星期几(中国习惯)
=NETWORKDAYS(A2,B2) → 计算工作日
=IFERROR(DATEDIF(A2,B2,"Y"),"错误") → 防错处理
EXERCISES
练习题
动手练习是掌握日期时间函数的最佳方式!打开Excel,跟着题目练一练吧!
【基础题 ★☆☆】用TODAY()和DATEDIF计算你的年龄(假设出生日期在A2)
答案:=DATEDIF(A2,TODAY(),"Y")&"岁"
【进阶题 ★★☆】用EDATE计算合同签订日(B2)3年后的到期日
答案:=EDATE(B2,36)
【挑战题 ★★★】用NETWORKDAYS计算本月剩余工作日(不含周末)
答案:=NETWORKDAYS(TODAY(),EOMONTH(TODAY(),0))
【思考题 ★★★★】如何判断今天是星期几,并在周一显示“例会日”,其他显示“工作日”?
答案:=IF(WEEKDAY(TODAY(),2)=1,"例会日","工作日")
【综合题 ★★★★★】制作一个倒计时:距离2027年春节(2027/2/6)还有多少天?
答案:=DATEDIF(TODAY(),DATE(2027,2,6),"D")&"天"
⚠️ 提示
日期时间函数的核心是“获取+组装+拆解+计算+推算”! 简单操作用TODAY/NOW/DATE/TIME,动态计算必须结合DATEDIF和EDATE。
CHEAT SHEET
速查卡
一张表记住所有用法,收藏备用!
END
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。