[算表] 文字格式的民國日期轉西元並計算年齡

作者: 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