Excel 日期函数大全:DATE、DATEDIF 和日期格式 | WPS表格教程

wps小编 442 2026-07-15 11:19:13 编辑

一、日期函数的核心价值与基础认知

日期函数是表格数据处理的基础工具,掌握 DATE、DATEDIF、EDATE 等核心函数,可以高效完成合同到期提醒、工龄计算、项目排期等常见任务。在 WPS 表格和 Microsoft Excel 中,日期本质上是以序列号形式存储的——1900 年 1 月 1 日对应的序列号为 1,此后每过一天加 1。理解这一点,是解决"日期显示为数字"或"公式结果异常"等问题的关键。

在实际办公场景中,日期函数的应用频率仅次于求和与查找。考勤统计需要计算工作日天数,人事管理需要根据入职日期算工龄,财务对账需要判断账期是否到期。这些都离不开对日期函数的熟练运用。WPS 表格与 Excel 在日期函数的语法和计算逻辑上完全兼容,本文所有公式均可直接使用。

1.1 日期的序列号机制

当你在单元格输入"2024/3/15"时,表格内部存储的其实是一个整数。从 1900 年 1 月 1 日起算,每一天对应一个递增的序列号。这意味着日期可以直接参与加减运算:=A1+30 表示 A1 日期往后推 30 天,=A2-A1 表示两个日期之间相差的天数。

如果运算结果变成了一串数字,只需选中单元格,将格式设置为日期即可恢复正常显示。这是初学者最常遇到的困惑之一。

二、DATE 函数:从年月日构建日期

DATE 函数是最基础的日期构造函数,它将独立的年、月、日数值组合成一个标准日期,也是其他日期函数经常配合使用的基础组件。

语法格式:

=DATE(year, month, day)

三个参数分别对应年份、月份和日期,均为数值。DATE 函数的强大之处在于它能自动处理进位:如果 month 大于 12,会自动进位到下一年;如果 day 超过当月天数,会自动进位到下一个月。

2.1 基础用法示例

公式结果说明
=DATE(2024,3,15)2024/3/15构建标准日期
=DATE(2024,15,1)2025/3/1月份 15 自动进位为次年 3 月
=DATE(2024,2,30)2024/3/12 月无 30 日,进位到 3 月 1 日

2.2 配合其他函数提取并重组日期

当日期信息分散在不同列时,DATE 函数可以将它们合并。例如 A 列存年份、B 列存月份、C 列存日,使用 =DATE(A2,B2,C2) 即可得到完整日期。反过来,从日期中提取年月日则使用 YEAR、MONTH、DAY 函数:

=YEAR(A2) 提取年份 =MONTH(A2) 提取月份 =DAY(A2) 提取日

三、DATEDIF 函数:计算两个日期的差值

DATEDIF 是计算年龄、工龄、合同剩余天数的利器,它可以按年、月、日三种维度返回两个日期之间的差值,是人事和行政工作中使用频率最高的隐藏函数。

语法格式:

=DATEDIF(start_date, end_date, unit)

前两个参数是起始日期和结束日期,第三个参数 unit 决定返回值的单位:

unit 参数返回值含义示例
"Y"整年数计算工龄
"M"整月数合同月数
"D"总天数相识天数
"YM"去除年后剩余的月数工龄 3 年 2 个月中的"2"
"MD"去除月后剩余的天数精确到天的差值
"YD"去除年后剩余的天数同年内的天数差

3.1 工龄计算实战

入职日期在 A2,当前日期用 TODAY() 函数获取,计算完整工龄年数:=DATEDIF(A2,TODAY(),"Y")。如果要精确到"X 年 Y 个月",可以组合公式:

=DATEDIF(A2,TODAY(),"Y")&"年"&DATEDIF(A2,TODAY(),"YM")&"个月"

需要注意 DATEDIF 的一个特性:如果 start_date 大于 end_date,函数会返回 #NUM! 错误。在处理未来日期时要确保顺序正确。

四、EDATE 与 EOMONTH:按月推进日期

EDATE 用于在指定日期基础上增减整月,EOMONTH 用于获取某月最后一天,这两个函数在贷款还款日计算、合同到期管理中不可或缺。

EDATE 语法:=EDATE(start_date, months)

months 为正数向后推,负数向前推。例如 =EDATE("2024/3/15",6) 返回 2024/9/15,=EDATE("2024/3/15",-3) 返回 2023/12/15。

EOMONTH 语法:=EOMONTH(start_date, months)

返回指定月份前后那个月的最后一天。这在需要"月末"统计的场景非常实用,例如获取本月最后一天:=EOMONTH(TODAY(),0)

五、WEEKDAY 与 WORKDAY:星期与工作日

WEEKDAY 返回某日期对应的星期几,NETWORKDAYS 计算两个日期间的工作日天数,二者结合可以完成排班、考勤、项目周期等复杂计算。

5.1 WEEKDAY 函数

语法:=WEEKDAY(serial_number, [return_type])

return_type 决定返回值的规则。默认为 1(周日=1,周六=7);设为 2 时周一=1,周日=7,符合国内习惯。配合 CHOOSE 函数可以直接显示中文星期:

=CHOOSE(WEEKDAY(A2,2),"周一","周二","周三","周四","周五","周六","周日")

5.2 NETWORKDAYS 工作日计算

语法:=NETWORKDAYS(start_date, end_date, [holidays])

自动排除周末,并可选择性传入节假日区域作为第三个参数。例如计算项目实际工作天数:=NETWORKDAYS(B2,C2,H2:H10),其中 H2:H10 是法定节假日列表。

5.3 WORKDAY 反推日期

与 NETWORKDAYS 相反,WORKDAY 根据工作日天数反推结束日期:=WORKDAY(start_date, days, [holidays])。从 3 月 15 日起经过 10 个工作日:=WORKDAY("2024/3/15",10)

六、TODAY 与 NOW:动态日期时间

TODAY 和 NOW 是两个无需参数的动态函数,它们会在表格重新计算时自动更新,适合做实时倒计时、动态报表标题。

=TODAY() 返回当前日期(不含时间) =NOW() 返回当前日期和时间

合同到期提醒公式:=IF(B2-TODAY()<30,"即将到期","正常"),当合同日期距今不足 30 天时自动提醒。

七、自定义日期格式

日期格式的自定义是让报表更专业的关键一步,通过格式代码可以将同一日期显示为多种样式,而不改变底层存储值。

右键单元格选择"设置单元格格式",在自定义中输入格式代码:

格式代码显示效果
yyyy-mm-dd2024-03-15
yyyy"年"m"月"d"日"2024年3月15日
yyyy-mm-dd aaa2024-03-15 周五
m"月"d"日" dddd3月15日 Friday
yyyymmdd20240315

其中 aaa 显示中文星期简称(周一),dddd 显示英文全称。格式代码只改变显示,不改变实际值,可以放心使用。

八、常见错误与排查

日期函数的报错往往源于数据类型不匹配和参数顺序错误,掌握排查方法可以快速定位问题。

常见问题速查

问题现象原因分析解决方案
日期显示为 45000 这样的数字单元格格式为数值改为日期格式
公式显示为文本而非结果单元格为文本格式改为常规后重新输入公式
DATEDIF 返回 #NUM!起始日期大于结束日期调换参数顺序
两个日期相减结果异常其中一个是文本型日期用 DATEVALUE 转换
#VALUE! 错误参数不是有效日期检查数据源格式

九、FAQ 常见问题解答

Q1:Excel 和 WPS 表格的日期函数完全一样吗?

WPS 表格与 Excel 在日期函数的语法和计算逻辑上完全兼容,包括 DATE、DATEDIF、EDATE、NETWORKDAYS 等所有常用函数。唯一的细微差异在于某些版本的默认日期系统(1900 与 1904 日期系统),但在日常办公中几乎不会遇到,直接使用即可。

Q2:如何批量把文本格式的日期转换成真正的日期?

方法一:使用"数据"选项卡中的"分列"功能,在第三步选择"日期"格式。方法二:使用 DATEVALUE 函数转换:=DATEVALUE(A2)。方法三:如果是"2024.3.15"这种格式,可以先替换"."为"/",再用 DATEVALUE 转换。

Q3:DATEDIF 为什么在函数列表里找不到?

DATEDIF 是一个源自 Lotus 1-2-3 时代的兼容函数,微软出于历史原因保留了它但没有在函数库中公开列出。虽然无法通过输入提示找到,但手动输入 =DATEDIF(...) 即可正常使用,WPS 表格同样支持。

Q4:如何计算某个月有多少天?

利用 EOMONTH 获取月末日期,再用 DAY 提取天数:=DAY(EOMONTH(DATE(2024,2,1),0)),返回 2 月的天数(2024 年是闰年,结果为 29)。

十、总结

日期函数虽然种类繁多,但核心就围绕三个能力:构建日期(DATE)、计算差值(DATEDIF、NETWORKDAYS)、按规则推进(EDATE、EOMONTH)。配合 YEAR/MONTH/DAY 提取函数和自定义格式,基本能覆盖所有办公场景的日期处理需求。关键是理解日期的序列号本质——一旦明白日期就是数字,加减运算和格式切换就迎刃而解。建议在实际表格中逐个测试本文的公式示例,遇到问题时参考错误排查表快速定位,WPS 表格用户可以完全放心地复用这些公式。

上一篇: WPS 表格函数比 Excel 少吗?普通办公够不够用,一篇讲明白
下一篇: Excel 文本函数怎么用:LEFT、RIGHT、MID、LEN 和 CONCAT 完整教程 | WPS
相关文章