乐于分享
好东西不私藏

Excel日期计算封神!6个核心函数,告别手动算日期的苦

Excel日期计算封神!6个核心函数,告别手动算日期的苦

有没有过这样的崩溃时刻?

做月度报表,要从一堆日期里提取年份、月份,一个个复制粘贴到崩溃;算合同到期日,要手动数“3个月后是哪天”,生怕数错漏了周末;统计月度结账日,还要翻日历找每个月的最后一天……

其实Excel里早就藏好了“日期计算神器”,不用手动推算,不用记复杂公式,掌握这6个核心函数——YEAR、MONTH、DAY、EDATE、EOMONTH、WORKDAY,就能轻松搞定80%的职场日期难题,省出更多摸鱼时间!

全程干货,新手也能一看就会,建议收藏+转发,下次算日期直接翻这篇~

一、基础拆解:YEAR/MONTH/DAY(提取日期的“三大件”)

这三个函数是日期计算的“地基”,核心作用是从完整日期中,单独提取出【年份】【月份】【日期】,语法简单到不用记,直接套公式就行。

1. YEAR函数:提取年份

语法:=YEAR(日期)

「日期」可以是具体日期(如“2026-03-28”),也可以是包含日期的单元格(如A1)。

实例:如果A1单元格是“2026-03-28”,输入=YEAR(A1),会直接返回【2026】。

适用场景:按年份分类统计数据(比如统计2026年的所有订单)、给文件命名时自动添加年份、年度报表汇总。

小技巧:结合TODAY()函数,输入=YEAR(TODAY()),能自动获取当前系统年份,不用手动输入。

2. MONTH函数:提取月份

语法:=MONTH(日期)

和YEAR用法完全一致,只是提取的是“月份”(返回1-12的数字)。

实例:A1=“2026-03-28”,输入=MONTH(A1),返回【3】;若A1=“2026-12-05”,返回【12】。

适用场景:月度报表统计(比如汇总3月份的业绩)、按月份筛选数据、设置月度提醒。

小技巧:如果想让月份显示为“03”而非“3”(规范报表格式),可以输入=TEXT(MONTH(A1),”00″),就能得到两位数的月份。

3. DAY函数:提取日期(几号)

语法:=DAY(日期)

提取完整日期中的“日”,返回1-31的数字。

实例:A1=“2026-03-28”,输入=DAY(A1),返回【28】;A1=“2026-02-29”(闰年),返回【29】。

适用场景:统计当月第几天的业绩、日程表标记具体日期、计算距离月底的剩余天数(后续结合EOMONTH使用)。

小结:这三个函数可以单独用,也可以组合用(比如=YEAR(A1)&”年”&MONTH(A1)&”月”&DAY(A1)&”日”,就能把A1的日期转换成“2026年3月28日”的格式),实用性拉满!

二、进阶计算:EDATE/EOMONTH(搞定“月份相关”计算)

如果说YEAR/MONTH/DAY是“拆解日期”,那EDATE和EOMONTH就是“推算日期”,专门解决“N个月后/前是哪天”“某个月最后一天是哪天”的问题,财务、行政岗位必学!

1. EDATE函数:推算N个月后的日期

语法:=EDATE(起始日期, 月份数)

关键说明:

  • 起始日期:可以是具体日期或单元格(如A1);

  • 月份数:正数=N个月后,负数=N个月前(比如1=1个月后,-2=2个月前);

  • 特殊情况:如果起始日期的“日”,大于推算月份的最大天数,会自动返回推算月份的最后一天(比如=EDATE(“2026-03-31”,1),4月只有30天,会返回“2026-04-30”)。

实例

  • 推算1个月后:A1=“2026-03-28”,输入=EDATE(A1,1),返回【2026-04-28】;

  • 推算2个月前:输入=EDATE(A1,-2),返回【2026-01-28】;

  • 特殊情况:=EDATE(“2026-01-31”,1),返回【2026-02-28】(2026年是平年,2月只有28天)。

适用场景:合同到期日提醒(比如合同签订日+3个月,就是到期日)、项目周期规划(比如启动日+6个月,是交付日)、房租缴纳日期推算。

2. EOMONTH函数:返回某个月的最后一天

语法:=EOMONTH(起始日期, 月份数)

和EDATE语法完全一样,但核心区别是:EDATE返回“N个月后/前的同一天”,EOMONTH返回“N个月后/前那个月的最后一天”,这是财务结账、工资核算的核心函数。

实例

  • 本月最后一天:A1=“2026-03-28”,输入=EOMONTH(A1,0),返回【2026-03-31】;

  • 下个月最后一天:输入=EOMONTH(A1,1),返回【2026-04-30】;

  • 上个月最后一天:输入=EOMONTH(A1,-1),返回【2026-02-28】。

适用场景:月度结账日统计、工资发放日确认(比如每月最后一个工作日发工资)、计算当月剩余天数(=EOMONTH(A1,0)-A1,比如3月28日输入公式,返回3天)。

小技巧:用EOMONTH还能快速获取某个月的第一天——输入=EOMONTH(A1,-1)+1,比如A1是3月28日,返回【2026-03-01】。

三、高效办公:WORKDAY函数(自动跳过周末的神器)

职场人最头疼的:算“N个工作日后是哪天”,手动数要跳过周六、周日,稍不注意就数错。WORKDAY函数直接帮你搞定,自动跳过周末,还能手动添加节假日!

语法:=WORKDAY(起始日期, 工作日数, [节假日])

关键说明:

  • 起始日期:推算的起始时间(单元格或具体日期);

  • 工作日数:正数=N个工作日后,负数=N个工作日前(只算周一到周五);

  • 节假日(可选):可以是单个节假日日期,也可以是包含多个节假日的单元格区域(比如B1:B5分别是春节、劳动节等日期),输入后会自动跳过这些日期。

实例

  • 5个工作日后:A1=“2026-03-28”(周五),输入=WORKDAY(A1,5),跳过周末,返回【2026-04-04】(下周五);

  • 跳过节假日:若B1=“2026-04-04”(节假日),输入=WORKDAY(A1,5,B1),会跳过该节假日,返回【2026-04-05】;

  • 3个工作日前:输入=WORKDAY(A1,-3),返回【2026-03-25】(周二)。

适用场景:项目交付日推算(比如今天启动,10个工作日后交付)、客户回复截止日确认、请假天数核算(跳过周末和节假日)。

补充:如果想自定义周末(比如有些公司周末是周日、周一),可以用WORKDAY.INTL函数,灵活设置周末天数和日期,按需选用即可。

四、必看总结+避坑指南

1. 6个函数核心用法汇总(收藏备用)

函数

核心作用

简单示例

YEAR

提取年份

=YEAR(A1)(A1=2026-03-28,返回2026)

MONTH

提取月份

=MONTH(A1)(返回3)

DAY

提取日期(几号)

=DAY(A1)(返回28)

EDATE

推算N个月后/前的日期

=EDATE(A1,1)(返回2026-04-28)

EOMONTH

返回某个月的最后一天

=EOMONTH(A1,0)(返回2026-03-31)

WORKDAY

推算N个工作日后/前的日期(跳周末)

=WORKDAY(A1,5)(返回2026-04-04)

2. 新手避坑3个关键点

  • 输入日期时,尽量用“2026-03-28”“2026/03/28”格式,避免用文本格式(比如“3月28日”),否则函数会报错;

  • 所有函数的“起始日期”,都可以用TODAY()替代(比如=YEAR(TODAY()),自动获取当前日期的年份),不用手动输入日期;

  • 如果函数返回“数字”(比如45387),不是报错!只是单元格格式是“常规”,右键设置单元格格式为“日期”,就能显示正常日期。

其实Excel日期函数没有那么难,记住这6个,日常工作中多练2次,就能熟练上手。以后再遇到日期计算,不用翻日历、不用手动数,输个公式就能秒出结果!

觉得有用的话,记得点赞+在看,转发给身边经常和Excel打交道的同事,一起告别日期计算的烦恼~

最后留个小提问:你平时最常用哪个日期函数?评论区聊聊你的使用技巧吧!