提取excel中的年月日

在Excel中提取出生日期,可以通过公式将年龄描述转换为时间差,再用当前日期减去时间差。以下是分步解决方案:

步骤1:准备辅助列(提取年、月、日)

假设年龄数据在A列(A2开始),在B、C、D列分别提取年/月/日:

公式
B2(年)=IFERROR(IF(FIND("岁",A2),--LEFT(A2,FIND("岁",A2)-1),0),0)
C2(月)=IFERROR(IF(FIND("个月",A2),--MID(A2,IFERROR(FIND("岁",A2)+1,1),FIND("个月",A2)-IFERROR(FIND("岁",A2)+1,1)),0),0)
D2(日)=IFERROR(IF(FIND("天",A2),--MID(A2,FIND("天",A2)-2,2),0),0)

步骤2:计算出生日期(E列)

E2公式

=DATE(YEAR(TODAY())-B2, MONTH(TODAY())-C2, DAY(TODAY())-D2)

步骤3:格式化结果

将E列设置为日期格式(右键单元格 → 设置单元格格式 → 日期 → YYYY-MM-DD)

示例效果(假设当前日期:2025-07-28)

A列(原始数据)B列(年)C列(月)D列(日)E列(出生日期)
10岁1个月10102015-06-28
10个月01002024-09-28
54岁54001971-07-28
2岁2个月14天22142023-05-14

公式说明:

  1. 提取原理

    • FIND("岁",A2) 定位"岁"的位置
    • --LEFT() 将文本数字转为数值
    • IFERROR 处理不存在该单位的情况(如纯月份描述)
    • MID() 截取中间数字(处理年月/月日混合情况)
  2. 日期计算

    • DATE(Y,M,D) 自动处理跨年/跨月(如7月-10个月=去年9月)
    • TODAY() 动态获取当前日期(可替换为固定日期如DATE(2025,7,28)

⚠️ 注意:若遇"月"单独出现(非"个月"),需先用查找替换将"月"改为"个月"(Ctrl+H替换"月"→"个月")

进阶优化(单公式完成):

若需单单元格计算,使用此数组公式(Ctrl+Shift+Enter输入):

=DATE(YEAR(TODAY())-IFERROR(–LEFT(A2,FIND(“岁”,A2)-1),0),
MONTH(TODAY())-IFERROR(–MID(A2,IFERROR(FIND(“岁”,A2)+1,1),FIND(“个月”,A2)-IFERROR(FIND(“岁”,A2)+1,1)),0),
DAY(TODAY())-IFERROR(–MID(A2,MAX(1,FIND(“天”,A2)-2),2),0))

此方案自动兼容:10岁5个月15天3岁2个月1岁10天等组合格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘忧记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值