题目
在 Excel 2016 的某工作表中,A1 单元格存储了 18 位居民身份证号码,依据身份证编码规则,其第 7~10 位为持证人的出生年份。现需在 A2 单元格输入公式以自动核算该人员的年龄,要求后续每年打开该工作表时,年龄数据均能实时更新并保持准确。下列公式中可实现此需求的是 ( )A. =2025-MID(A1,7,4)B. =YEAR(NOW())-MID(A1,7,4)C. =YEAR()-MID(A1,7,10)D. =2025-MID(A1,7,10)
在 Excel 2016 的某工作表中,A1 单元格存储了 18 位居民身份证号码,依据身份证编码规则,其第 7~10 位为持证人的出生年份。现需在 A2 单元格输入公式以自动核算该人员的年龄,要求后续每年打开该工作表时,年龄数据均能实时更新并保持准确。下列公式中可实现此需求的是 ( )
A. =2025-MID(A1,7,4)
B. =YEAR(NOW())-MID(A1,7,4)
C. =YEAR()-MID(A1,7,10)
D. =2025-MID(A1,7,10)
题目解答
答案
B. =YEAR(NOW())-MID(A1,7,4)
解析
本题考查 Excel 公式的运用,主要涉及函数 YEAR()、NOW() 和 MID() 的使用,解题的关键在于根据身份证号码提取出生年份,并结合当前年份计算年龄,同时要保证每年打开工作表时年龄能实时更新。
- 分析题目需求:
- 已知 A1 单元格存储 18 位居民身份证号码,第 7 - 10 位为持证人的出生年份。
- 要在 A2 单元格输入公式计算年龄,且每年打开工作表时年龄能实时更新。
- 分析各函数功能:
MID(text, start_num, num_chars)函数:用于从文本字符串中指定的起始位置起返回指定长度的字符。在本题中,MID(A1, 7, 4)可以从 A1 单元格的身份证号码中提取第 7 位开始的 4 个字符,即出生年份。NOW()函数:返回当前的日期和时间。YEAR(serial_number)函数:用于返回日期值中的年份。YEAR(NOW())可以获取当前日期的年份。
- 对各选项进行分析:
- 选项 A:
=2025 - MID(A1, 7, 4),这里使用固定的年份 2025 减去出生年份,当后续年份变化时,年龄不会实时更新,不符合题目要求。 - 选项 B:
=YEAR(NOW()) - MID(A1, 7, 4),YEAR(NOW())能实时获取当前年份,MID(A1, 7, 4)提取出生年份,两者相减可以得到当前的年龄,并且每年打开工作表时,由于NOW()函数会实时更新,年龄数据也会实时更新,符合题目要求。 - 选项 C:
=YEAR() - MID(A1, 7, 10),YEAR()函数需要一个日期参数,这里没有提供,会导致错误;同时MID(A1, 7, 10)提取的是 10 个字符,不是正确的出生年份格式,不符合题目要求。 - 选项 D:
=2025 - MID(A1, 7, 10),同样使用固定的年份 2025,且MID(A1, 7, 10)提取的不是正确的出生年份格式,年龄不会实时更新,不符合题目要求。
- 选项 A: