作者rfx6724 (おじさん水瓶喵)
看板Office
标题[算表] 文字格式的民国日期转西元并计算年龄
时间Sat Jul 3 15:01:20 2021
软体: 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" 来转换为年龄(足岁)
也许有更好的方法,不过这是我目前唯一知道的方式
提供给有需要的人
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.161.126.13 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1625295682.A.23B.html
※ 编辑: rfx6724 (1.161.126.13 台湾), 07/03/2021 15:03:54
※ 编辑: rfx6724 (1.161.126.13 台湾), 07/03/2021 15:04:18
1F:推 p1028: 分享我的用法,日期转西元年:DATEDIF(DATEVALUE("R"&A2),T 07/03 16:14
2F:→ p1028: ODAY(),"Y") 07/03 16:14
3F:→ p1028: R+民国日期=西元日期 07/03 16:14
6F:→ rafaiero: 不好意思,考虑到以生”日”的话,上面这个才对... 07/05 09:21
7F:→ rfx6724: 感谢楼上大大指导, 想不到还有这些方法 07/08 23:00