|
公历转农历 一直有个梗 就是 闰月。
本人搜罗网上三种 农历转公历的函数写法,进行修正,改进,得到当前比较不错的一个写法。
源于大家,回馈大家:
首先,准备闰月表,知道哪一年闰、哪一月,这个百度可得。把闰月表放在E:F区域。
其次,对A1的日期,在B1里写公式:=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&"年"&NUMBERSTRING(IF(VALUE(TEXT(A2,"[$-130000]m"))>IFNA(VLOOKUP(VALUE(TEXT(A2,"[$-130000]yyyy")),E:F,2,0),13),TEXT(A2,"[$-130000]m")-1,TEXT(A2,"[$-130000]m")),1)&"月"&TEXT(A2,IF(--TEXT(A2,"[$-130000]d")=10,"初十",IF(--TEXT(A2,"[$-130000]d")>10,"[$-130000][DBNum1]d","初[$-130000][DBNum1]d")))
完成截图
完毕!
其中,=IF(VALUE(TEXT(A3,"[$-130000]m"))>IFNA(VLOOKUP(VALUE(TEXT(A3,"[$-130000]yyyy")),E:F,2,0),12),TEXT(A3,"[$-130000]m")-1,TEXT(A3,"[$-130000]m"))
这段是判断闰月,是当前闰月则月份减一。部分TEXT转换后需要VALUE再转换,否则无法判断数值和运算。
|
|