软件: 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" 来转换为年龄(足岁)
也许有更好的方法,不过这是我目前唯一知道的方式
提供给有需要的人