[算表] 文字格式的民国日期转西元并计算年龄

楼主: rfx6724 (水瓶喵-公的)   2021-07-03 15:01:20
软件: OFFICE
版本: 2016
今天在帮忙处理一份 Excel表
其中要计算至 "今天(开启档案时)" 的年龄(足岁)
因为日期的字段格式是 "文字",所以不能够直接用
参考 PTT 及 GOOGLE 上的资料后,总算用下列公式弄出来
| | A栏 | B栏 |
| 1列 | 民国 | 年龄 |
| 2列 | '60/01/31 | 50 |
| 3列 | '60/12/31 | 49 |
| 4列 | '100/01/31 | 10 |
| 5列 | '100/12/31 | 9 |
公式
=DATEDIF(TEXT(DATE(LEFT(RIGHT("0"&SUBSTITUTE(A2,"/",""),7),3)+1911,
MID(RIGHT("0"&SUBSTITUTE(A2,"/",""),7),4,2),
RIGHT(RIGHT("0"&SUBSTITUTE(A2,"/",""),7),2)),"yyyy/mm/dd"),TODAY(),"Y")
里面用到 SUBSTITUTE 将原本文字格式里的 / 删除
因为民国日期有 6码 或 7码,利用 RIGHT 将其补到 7码
然后利用 DATE 及 LEFT+1911/MID/RIGHT 来转换成 西元年月日
接着利用 TEXT 转换为文字,这是为了给后面的 DATEDIF 用
最后使用 DATEDIF 并配合 TODAY(),"Y" 来转换为年龄(足岁)
也许有更好的方法,不过这是我目前唯一知道的方式
提供给有需要的人
作者: p1028   2021-07-03 16:14:00
分享我的用法,日期转西元年:DATEDIF(DATEVALUE("R"&A2),TODAY(),"Y")R+民国日期=西元日期
作者: rafaiero (路人甲)   2021-07-05 08:57:00
https://i.imgur.com/qPucSGS.jpghttps://i.imgur.com/eEn5Nx0.jpg不好意思,考虑到以生”日”的话,上面这个才对...
楼主: rfx6724 (水瓶喵-公的)   2021-07-08 23:00:00
感谢楼上大大指导, 想不到还有这些方法

Links booklink

Contact Us: admin [ a t ] ucptt.com