網友問到一個 Excel 的問題:如何將日期格式例如:1975/01/01(西元年),改顯示為0640101(民國年)格式?
在下圖中,西元年格式以『/』做為年、月、日的分隔,轉換為民國年格式時,要去除『/』符號。
【公式設計與解析】
方法一:取出公式取出年、月、日來組合
儲存格C2:=RIGHT("0"&(YEAR(A2)-1911),3)&RIGHT("0"&MONTH(A2),2)&
RIGHT("0"&DAY(A2),2)
複製儲存格C2,貼至儲存格C2:C17。
(1) RIGHT("0"&(YEAR(A2)-1911),3)
利用 YEAR 函數取儲存格A2中日期的『年』數,再減 1911,可得民國年數。由於得到的民國年可能是 2 碼或是 3 碼,所以先將『0』字元串接民國年,再由字串右側取 3 碼,即可將 2 碼的民國年之前加上一碼『0』。
(2) RIGHT("0"&MONTH(A2),2)
利用 MONTH 函數取儲存格A2中日期的『月』數。由於得到的月數可能是 1 碼或是 2 碼,所以先將『0』字元串接月數,再由字串右側取 2 碼,即可將 1 碼的月數之前加上一碼『0』。
(3) RIGHT("0"&DAY(A2),2)
利用 DAY 函數取儲存格A2中日期的『日』數。由於得到的日數可能是 1 碼或是 2 碼,所以先將『0』字元串接日數,再由字串右側取 2 碼,即可將 1 碼的日數之前加上一碼『0』。
(4) 最後,將第(1),(2),(3)式以『&』串接。
方法二:利用文字格式化取得年月日
儲存格C2:=RIGHT("0"&SUBSTITUTE(TEXT(A2,"[$-404]e/mm/dd;@"),"/",""),7)
複製儲存格C2,貼至儲存格C2:C17。
(1) TEXT(A2,"[$-404]e/mm/dd;@")
利用 TEXT 函數將儲存格A2的日期設定格式『[$-404]e/mm/dd;@』,可得民國年格式,例如:1975/01/01→64/01/01。
(2) SUBSTITUTE(第(1)式,"/","")
利用 SUBSTITUTE 函數將第(1)式結果中的『/』去除。
(3) RIGHT("0"&第(2)式,7)
由於得到的民國年可能是 2 碼或是 3 碼,所以先將『0』字元串接民國年,再由字串右側取 3 碼,即可將 2 碼的民國年之前加上一碼『0』。
【延伸閱讀】
* Excel-依據不日期日期計算時間差(DATE,TIME,INT)
* Excel-依據不日期日期計算時間差(DATE,TIME,TEXT,MID)
【補充說明】
如果你只是要將西元年格式改成民國年格式,也可以在數值格式設定中選取[日期]類別,然後在[行事曆類型]下拉式清單中選取「中華民國曆」選項,即可得到民國年格式的日期。

看到圖片上的確定差一點竟按下去了,感謝無私的教學分享。
老師您好: 我有一個關於以經緯度查找最近點的問題,A欄 路徑名稱,B欄 緯度,C欄 經度,D欄 編號,查找的規則是: 路徑名稱必須相符後,再從中找出最近點的編號。懇請您賜較。謝謝您!
=YEAR(A2)-1911&"/"&MONTH(A2)&"/"&DAY(A2)
將格式字串內的斜線拿掉, 可省下substitute =RIGHT("0"&TEXT(A2,"[$-404]emmdd;@"),7)
謝謝你提供寶貴建議。
請問老師如果是民國年轉西元年呢? 96年1月2日轉換→0960102 97年2月11日轉換→0970211 98年11月2日轉換→0981102 99年12月11日轉換→0991211 100年3月3日轉換→1000303 101年4月22日轉換→1010422 102年10月4日轉換→1021004 103年11月30日轉換→1031130 注意:96年1月2日儲存格的值是96年1月2日 不是2007/1/2 要用什麼方法轉換呢?謝謝指點!
這幾篇都是民國年轉西元年: http://isvincent.pixnet.net/blog/post/46054351 http://isvincent.pixnet.net/blog/post/42874681 http://isvincent.pixnet.net/blog/post/44503609 http://isvincent.pixnet.net/blog/post/47873541
西元年不可直接減去1911做為國民年份。在計算2月閏年會發生錯誤,以及計算星期幾對應日期也不對。 比如今年2002年是閏年2月應當29天,顯示國民年份時用2020-1911=109,這個109不是民國109年。正確的是應為西元109年。2月份至有28天不是閏年。
本例是在講西元年的「格式」轉換成民國年的「格式」,所以不能拿來運算。 在Excel裡沒有民國年這種數值的日期表示法,只能接受西元年的數值。
謝謝分享,但是我的問題似乎還是無法解決。 因為在儲存格設定裡,沒有(中華民國曆)這個選項,該如何設定?