首页 > 精选资讯 > 严选问答 >

问 excel 中 year 函数 日期提取详解

2026-11-06 15:55:09
最佳答案

答

核心结论就是 Excel 里面 year 函数是日期提取类函数,语法是 YEAR (日期),作用就是从一个标准日期里面单独提取出对应的年份数字,返回结果是四位整数,比如 2026,这个函数经常和 MONTH DAY 搭配,用来按年份汇总统计,计算年龄,年度筛选,做透视表分组辅助列,是处理日期数据最基础高频函数。之所以要使用 year 函数,是因为 Excel 底层日期本质是序列号数字,不是单纯文本,直接筛选或者统计的时候,很多人没办法单独取出年份维度,year 函数可以把年份剥离出来,生成独立辅助列,后续就可以按年份求和计数,但是这个函数有硬性前提,括号里面必须是 Excel 识别的标准日期,如果单元格里面是文本形式的日期,year 函数会直接报错,这也是新手最常见踩坑点。

基础语法说明

YEAR (serial_number)

serial_number 必填,也就是需要提取年份的日期,可以是单元格引用,也可以是 DATE 函数生成的日期,还可以是其他日期公式返回的结果

返回值为四位年份整数

基础示例

=YEAR (A2) 如果 A2 里面是 2026/11/06,公式返回 2026

=YEAR (DATE (2026,11,6)) 直接用 DATE 构造日期,提取年份得到 2026

详细操作步骤

1 打开 Excel 表格,确认原始日期放在 A 列,例如 A2 单元格录入标准日期 2026/11/06

2 点击空白输出单元格,双击进入公式编辑状态

3 输入等号,输入 YEAR,左括号,选中 A2 单元格,右括号,完整公式 = YEAR (A2)

4 按下回车键,单元格输出四位年份数字

5 鼠标移动到单元格右下角,光标变成黑色十字填充柄,按住向下拖动,整列所有日期批量提取年份

6 如果需要做年度判断,可以把 year 函数嵌套进 IF 函数,例如 = IF (YEAR (A2)=2026,"本年度","往年")

7 如果需要按年份汇总,year 生成辅助列之后,就可以搭配 SUMIF COUNTIF,按提取出来的年份做条件统计

函数对照表

函数语法功能和 year 函数搭配场景
YEARYEAR (日期)提取年份按年度统计
MONTHMONTH (日期)提取月份年月联合筛选
DAYDAY (日期)提取日按天汇总
DATEDATE (年,月,日)组合生成日期和 year 反向操作
DATEDIFDATEDIF (起始日,结束日,"Y")计算整年间隔年龄工龄计算

深度要点和易错点

第一 单元格内容必须是 Excel 认可的标准日期,如果是类似 2026 年 11 月 6 日这种文本,部分版本可以识别,但是很多时候会报 VALUE 错误,建议提前把文本日期转换成标准日期格式

第二 year 函数返回的是纯数字,不是文本,后续 SUMIF 条件匹配的时候,条件写数字 2026,不要写成带引号的文本,不然匹配失败

第三 Excel 日期序列号是从 1900 年开始,很早的日期如果是 1900 年之前,year 函数无法识别,会报错

第四 不要把 year 函数和 TEXT 函数混淆,TEXT (A2,"yyyy") 也可以输出年份,但是 TEXT 返回的是文本类型,year 返回数值,做求和统计优先选择 year 函数

第五 计算年龄的时候,单独 YEAR (今天)-YEAR (生日) 会存在误差,因为还没有过完当年生日,正确方案是使用 DATEDIF 函数,这个是高频误区

第六 year 函数提取出来的年份辅助列,是做数据透视表按年分组非常好用的办法,尤其是原始日期是混合多年流水,提前生成年份列,透视表直接按年份汇总

第七 如果日期单元格是空白,year 函数返回 1900,不是空值,这个特性很特殊,批量处理空行的时候要额外判断,避免统计出错

第八 可以和 TODAY 函数组合,=YEAR (TODAY ()),动态获取当前系统年份,每次打开文件自动更新

进阶应用 工龄按年统计

原始入职日期在 A2,公式 = YEAR (TODAY ())-YEAR (A2),快速粗略计算入职年份差,如需精确整年工龄,改用 DATEDIF (A2,TODAY (),"Y")

【常见问题】

问题 1 excel 中 year 函数报 VALUE 错误是什么原因

回答 1 excel 中 year 函数报 VALUE 错误,绝大多数情况是括号里面不是标准日期,单元格内容属于文本格式日期,把单元格改成标准日期格式,重新转换之后,year 函数就可以正常提取年份。

问题 2 excel 中 year 函数和 TEXT 提取年份有什么区别

回答 2 excel 中 year 函数提取出来的年份是数值类型,TEXT 函数用 yyyy 格式输出的年份是文本类型,后续做条件统计求和,优先使用 year 函数,避免类型不匹配造成统计失败。

问题 3 excel 中 year 函数能不能动态获取当前年份

回答 3 excel 中 year 函数可以搭配 TODAY 函数,公式 = YEAR (TODAY ()),动态读取系统当前年份,文件每次打开自动刷新,适合年度报表自动识别当年数据。

问题 4 excel 中 year 函数提取空白单元格为什么返回 1900

回答 4 excel 中 year 函数遇到空白单元格的时候,会把空值当成序列号 0 处理,序列号 0 对应的就是 1900 年,所以返回 1900,批量统计的时候建议增加 IF 判断,跳过空行,防止 year 函数带来错误统计结果。

【免责申明】

本教程基于桌面版 Excel 常规版本编写,WPS 表格对 year 函数支持完全一致,日期识别规则基本相同,本文仅作为学习参考,不承担因为日期格式错误统计计算偏差业务报表失误相关责任。