Google 試算表與 Microsoft Excel 同樣可以透過 MID、FIND 函數解析民國日期並轉換成西元日期。以下說明透過 Google 試算表特有的 REGEXEXTRACT 函數快速將民國轉西元日期,而不需要透過 MID、FIND 函數精準計算年月日在儲存格的位置。
正規表示式是「使用單個字串來描述、匹配一系列符合某個句法規則的字串。」(資料來源:维基百科)上面那一串的語法
如果想直接動手作,可以前往線上試算表直接編輯。
解決方式
輸入的資料可能是「109/1/23」、「109.1.2」、「民國109年3月14日」、「中華民國109年10月10日」。儘管中間有不同分隔符號或者夾雜一個中文字,共通規則是「數字年」+「一個字」+「數字月」+「一個字」+「數字日」。寫成正規表示式 (Regular Expression)的語法規則:(\d+).(\d+).(\d+)
正規表示式是「使用單個字串來描述、匹配一系列符合某個句法規則的字串。」(資料來源:维基百科)上面那一串的語法
- \d 代表是一位數字。因為年月日可能不只一位數字,所以寫成 \d+
- (\d+) 加上括號代表要從輸入文字中,擷取出符合括號內條件的文字。與 \d+ 結合代表要擷取出多位數字
- . 點符號則代表任意一個字元,所以可能是分隔符號或者是一個中文字
- (\d+).(\d+).(\d+) 代表擷取出三個數字,而數字之間間隔任意一個字元
步驟1:儲存格輸入 REGEXEXTRACT 函數
下圖 B2 儲存格內容
=REGEXEXTRACT(A2, "(\d+).(\d+).(\d+)")
使用 REGEXEXTRACT 函數擷取的年、月、日,會分別儲存到 B2、C2、D2 儲存格
步驟2:將民國年、月、日,使用 DATE 函數組合成西元日期
E2 儲存格內容
=DATE(B2+1911, C2, D2)民國年加上 1911 轉成西元年,再透過 DATE 函數組合成西元日期。
步驟3:如果想要月跟日,不足二位數時前面自動補零
請點選選單的 Format --> More Formats --> More data and time formats
選擇月跟日,不足二位數時前面自動補零的時間格式,確定後再按 Apply 按鈕,套用格式到儲存格。
如果想直接動手作,可以前往線上試算表直接編輯。
參考資料
- Excel-民國年轉西元年(DATE,MID,TEXT) @ 學不完.教不停.用不盡 :: 痞客邦 ::
- TEXT 函數 - Office 支援
- Excel-關於日期的各種格式設定 @ 學不完.教不停.用不盡 :: 痞客邦 ::
- How to change Excel date format and create custom formatting
- Ed's blog: 快速將Excel中的民國年修正為西元日期 僅適用在 Microsoft Excel
- 民國紀年 - 维基百科,自由的百科全书
- What is EMD date format? - UrbanPro
相片來源
Free Photo of architecture, building, infrastructure - StockSnap.io (Thanks, LoboStudio Hamburg!)
Free Photo of architecture, building, infrastructure - StockSnap.io (Thanks, LoboStudio Hamburg!)
留言
張貼留言