1. 程式人生 > 電腦技巧 >Excel 民國日期轉換為西元日期教學與範例

Excel 民國日期轉換為西元日期教學與範例

介紹如何使用 Excel 的 SUBSTITUTE、LEFT、MID、RIGHT 函數自動將民國日期轉換為西元日期。


民國日期轉西元日期(格式固定)

假設我們現在有一些民國的日期資料,而其日期格式都很固定,年份是三位數,月與日都是兩位數,中間以句點分隔。

民國日期資料像這樣非常固定的民國日期資料,若想要轉換為西元年的日期,只要使用 LEFT、MID 與 RIGHT 函數,根據資料的位置將年、月、日取出後,將年份加上 1911 轉為西元年,再使用 DATE 建立日期資料即可。

=DATE(LEFT(A2,3)+1911,MID(A2,5,2),RIGHT(A2,2))

轉為西元日期

民國日期轉西元日期(格式不固定)

假設原始的民國日期資料格式不固定,也就是說年、月、日的位數不是固定的,從一位數到三位數都有,這種情況就會比較複雜。

民國日期資料遇到這種情況時,可以先將問題拆解成兩部分,首先將原始民國日期中的年月日分別取出,再將其轉換為西元日期。

這裡我們先在表格中增加轉換用的資料欄位,然後先將原始日期中的分隔符號(在這個例子中就是句點)取代為三個句點,目的在於讓我們在取出資料時多一些緩衝空間。

=SUBSTITUTE(A2,".","...")

轉換用資料使用 LEFT 函數將年份取出,因為年份有可能是一位數到三位數,所以這裡我們取其上限值三位數,將年份資料抓取出來,而如果遇到年份資料只有一位數或兩位數的時候,後方就會包含多餘的句點,所以最後再以 SUBSTITUTE 將句點去除,就可以得到乾淨的年份資料。

=SUBSTITUTE(LEFT(B2,3),".","")

抓取民國年分在抓取月份時也是類似的概念,將所有可能的長度算出來之後,抓取最長的部分,然後再將句點去除。

=SUBSTITUTE(MID(B2,5,4),".","")

抓取月份最後以相同的概念使用 RIGHT 函數從右方抓取日期資料。

=SUBSTITUTE(RIGHT(B2,2),".","")

抓取日將年、月、日都取出之後,將年份加上 1911,再以 DATE 函數建立日期資料即可。

=DATE(C2+1911,D2,E2)

轉為西元日期這種方式需要很注意資料的長度變化與抓取的位置,如果感覺不好計算的話,可將分隔符號取代為長度更長一點的連續句點(例如二十個句點),算起來會更輕鬆,也不容易出錯。