Excel DATE 函数的核心是通过年、月、日三个参数生成日期序列号,语法为DATE(year, month, day),三个参数的取值规则直接决定最终日期结果,以下是每个参数的详细解析(含特殊处理、示例及易错点):
一、year(年)参数
1. 取值范围与识别规则
Excel 对year参数的解析遵循兼容性规则,支持 1~4 位数字,具体如下:
-
0~1899:自动加 1900(为兼容早期 Excel 的年份简写设计,如 “25” 代表 1925 年而非 2025 年);
-
1900~9999:直接使用输入年份(Excel 支持的有效日期年份范围为 1900-01-01 至 9999-12-31);
-
<0 或> 9999:超出日期支持范围,返回#NUM!错误。
2. 示例
|
公式
|
结果(日期格式)
|
解析说明
|
|
DATE(25, 12, 16)
|
1925-12-16
|
25∈0~1899,自动加 1900
|
|
DATE(2025, 12, 16)
|
2025-12-16
|
2025∈1900~9999,直接使用
|
|
DATE(99, 1, 1)
|
1999-01-01
|
99∈0~1899,加 1900(非 2099 年)
|
|
DATE(10000, 1, 1)
|
#NUM!
|
年份 > 9999,超出范围
|
3. 注意
建议输入4 位完整年份,避免简写导致的年份识别错误(如DATE(00,1,1)会被解析为 1900 年,而非 2000 年)。
二、month(月)参数
1. 取值规则与特殊处理
month参数无严格的 1~12 限制,Excel 会按 “12 个月 = 1 年” 的规则自动进位 / 倒推:
-
正数 > 12:向 “年” 进位(如 13 月 = 1 年 + 1 月,24 月 = 2 年);
-
负数:从指定年份的 1 月往前倒推(绝对值为倒推月数,如 - 1 = 上一年 11 月,-2 = 上一年 10 月);
-
0:视为指定年份的上一年 12 月。
2. 示例
|
公式
|
结果(日期格式)
|
解析说明
|
|
DATE(2025, 13, 1)
|
2026-01-01
|
13 月 = 2025 年 + 1 年 1 月
|
|
DATE(2025, 24, 1)
|
2027-01-01
|
24 月 = 2025 年 + 2 年
|
|
DATE(2025, 0, 1)
|
2024-12-01
|
month=0 对应上一年 12 月
|
|
DATE(2025, -1, 1)
|
2024-11-01
|
从 2025 年 1 月倒推 2 个月(-1=1-2)
|
三、day(日)参数
1. 取值规则与特殊处理
day参数按 “当月实际天数” 自动进位 / 倒推,规则如下:
-
正数 > 当月天数:向 “月” 进位(超出天数 = 当月天数后的剩余天数,进入下月);
-
负数:从指定月份的 1 日往前倒推(绝对值为倒推天数);
-
0:视为指定月份的上一个月最后一天。
2. 示例(结合平 / 闰年)
|
公式
|
结果(日期格式)
|
解析说明
|
|
DATE(2025, 2, 30)
|
2025-03-02
|
2025 年 2 月有 28 天,30-28=2(进入 3 月 2 日)
|
|
DATE(2024, 2, 30)
|
2024-03-01
|
2024 年是闰年,2 月有 29 天,30-29=1(进入 3 月 1 日)
|
|
DATE(2025, 3, 0)
|
2025-02-28
|
3 月 0 日 = 2 月最后一天(2025 年 2 月 28 天)
|
|
DATE(2025, 12, -1)
|
2025-11-30
|
12 月 1 日往前倒推 1 天(11 月最后一天)
|
|
DATE(2025, 12, -2)
|
2025-11-29
|
12 月 1 日往前倒推 2 天
|
四、参数类型要求
-
DATE 函数要求参数为数值类型(整数 / 小数均可,小数部分会被自动取整,如DATE(2025.9, 12.3, 16.8)等价于DATE(2025, 12, 16));
-
若输入文本型数字(如DATE("2025","12","16")),Excel 会尝试自动转换为数值;若文本无法转换(如DATE("二零二五",12,16)),则返回#VALUE!错误。
五、常见错误排查
-
#NUM!:年份 <0 或> 9999,或日期超出 Excel 支持范围(1900-01-01 至 9999-12-31);
-
#VALUE!:参数为非数值且无法转换,或参数类型错误(如文本非数字);
-
日期显示为数字:单元格为 “常规” 格式,需右键→设置单元格格式→选择 “日期” 类型。
|