一、基础用法:YEAR 函数
在 Excel 中,若需从一个完整的日期中提取年份,最直接的方法是使用内置的 YEAR 函数。该函数接受一个日期值作为参数,并返回对应的年份。
语法: =YEAR(serial_number)示例:若单元格 A1 中的日期为 2025-04-05,则公式 =YEAR(A1) 将返回 2025
YEAR 函数适用于标准日期格式的数据,如 Excel 内部的日期序列值或格式为“YYYY-MM-DD”的单元格内容。
二、进阶处理:处理文本格式日期
有时,导入的日期数据可能以文本格式存储,例如“2025/04/05”或“April 5, 2025”,此时直接使用 YEAR 函数会返回错误。为解决这一问题,可以结合 DATEVALUE 函数进行转换。
语法: =YEAR(DATEVALUE(text_date))示例:若单元格 A2 中的文本为 "2025/04/05",则公式 =YEAR(DATEVALUE(A2)) 将返回 2025
注意:DATEVALUE 函数对区域设置敏感,需确保文本日期格式与系统区域设置兼容。
三、常见错误与排查方法
错误类型原因解决方案#VALUE!输入值不是有效日期或无法被 DATEVALUE 解析检查单元格格式,尝试手动转换为日期或使用 TEXT 函数标准化格式#NUM!日期超出 Excel 支持范围(1900-1-1 至 9999-12-31)验证数据源,排除非法日期值
四、高级应用:结合其他函数实现动态年份提取
在实际业务场景中,常常需要结合其他函数实现更灵活的数据提取。例如:
结合 TODAY 函数获取当前年份: =YEAR(TODAY())结合 IF 函数进行条件判断: =IF(YEAR(A1)>2020, "新数据", "旧数据")结合 TEXT 函数格式化输出: =TEXT(A1,"yyyy")
TEXT 函数返回的是文本格式年份,适用于需要将年份作为字符串参与拼接或分类的场景。
五、流程图:从日期中提取年份的逻辑流程
graph TD
A[开始] --> B{单元格内容是否为日期格式?}
B -->|是| C[使用 YEAR(A1)]
B -->|否| D[尝试 DATEVALUE(A1)]
D --> E{转换是否成功?}
E -->|是| F[使用 YEAR(DATEVALUE(A1))]
E -->|否| G[检查格式并手动修正]
F --> H[结束]
G --> H