如何在Excel中實現農曆日期轉化

農曆與陽曆(公曆)是兩套不同的曆法,在Excel中正常顯示的陽曆日期,但對於我們中國人而言不是很方便,不能馬上看出農曆日期,因為我們除了過洋節之外還要過中國人的節日嘛。這裡老墨整理一個比較完整的函數公式來轉化農曆日期。

簡單版(數字呈現)下表中B2單元格就是第一種情況,「2016-9-17」表示農曆是九月十七日。該公式是:=TEXT(A2,"[$-130000]YYYY-M-D")。TEXT()用來轉化文本格式,這個公式的關鍵是:[$-130000],它是Excel中陽曆轉化農曆的參數,不過它存在一個問題就是沒法計算閏月,估計老外無法理解中國人閏月的概念,凡是閏年,它直接表示一年13個月,道理是一樣的。

進階版(中文呈現)上表C2單元格,相比較B2單元格呈現就有了進階,以中文呈現,並且以天干地支表現年份。公式相對之前肯定複雜:=MID(" 甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10) 1,1)&MID("子丑寅卯辰巳午未申酉 戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12) 1,1)&"年"&TEXT(A2," [$-130000][DBNum1]m月d日")我們可以分解為兩大部分:1)計算年份:MID(" 甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10) 1,1)&MID("子丑寅卯辰巳午未申酉 戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12) 1,1)&"年",這裡加了MID()文本提取函數來獲取天干地支。2)計算月日:TEXT(A2," [$-130000][DBNum1]m月d日"),這裡增加了參數[DBNum1],表示數值以「一、而二、三......」中文格式顯示。兩者組合一起的就是C列結果。完美版作為中國人,我們知道「一月」不叫「一月」,叫「正月」;「十二月」不叫「十二月」,叫「臘月」;同樣每月前10天,是初一、初二......20日開始是廿、廿一......30日是卅等等。如何更完美地呈現,在這裡老墨將進階版公式再度分解,加上判斷,然後再組合就實現了效果,公式:=MID(" 甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10) 1,1)&MID("子丑寅卯辰巳午未申酉 戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12) 1,1)&"年"&IF(TEXT(A2," [$-130000]m")*1=12," 臘",IF(TEXT(A2," [$-130000]m")*1=1," 正",TEXT(A2," [$-130000][DBNum1]m")))&"月"&IF(TEXT(A2," [$-130000]d")-9<=1,"初",IF(TEXT(A2," [$-130000]d")-29>=1,"卅",IF(TEXT(A2," [$-130000]d")-19>=1,"廿","十")))&IF(RIGHT(TEXT(A2," [$-130000]d"),1)*1=0,"",TEXT(RIGHT(TEXT(A2," [$-130000]d"),1)*1,"[DBNum1]d"))&"日"1)年份公式:MID(" 甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10) 1,1)&MID("子丑寅卯辰巳午未申酉 戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12) 1,1)&"年"2)月份公式:IF(TEXT(A2," [$-130000]m")*1=12," 臘",IF(TEXT(A2," [$-130000]m")*1=1," 正",TEXT(A2," [$-130000][DBNum1]m")))&"月"3)日期公式:IF(TEXT(A2," [$-130000]d")-9<=1,"初",IF(TEXT(A2," [$-130000]d")-29>=1,"卅",IF(TEXT(A2," [$-130000]d")-19>=1,"廿","十")))&IF(RIGHT(TEXT(A2," [$-130000]d"),1)*1=0,"",TEXT(RIGHT(TEXT(A2," [$-130000]d"),1)*1,"[DBNum1]d"))&"日"

這樣的結果是符合我們中國人的習慣的,有興趣的朋友可以試試。(END)

點擊上圖鏈接了解

學好Excel,做個好表哥表姐~當你在工作遇到有趣的Excel案例及問題,歡迎@我,相互交流並分享給e友~~~

e友

老墨,我有個Excel問題......交給我,@moguho_e,或者2838002@qq.com,第一時間處理,並在公眾號中分享給大家!也可以加,
推薦閱讀:

優E實現「泛在學習」
一年的願望你實現了嗎
比較常見容易實現的醒酒食物
張鋒再發CRISPR新突破!「魔剪」可實現同時編輯4個基因
陽台實現了我的花園夢,這輩子算沒白活!

TAG:農曆 | 日期 | Excel | 轉化 | 實現 |