学习交流

当前位置 /首页/母婴教育/学习交流/列表

EXCEL中如何使用公式将阳历转换为阴历

如今世界通行的公历就是一种阳历(太阳历),是以地球绕太阳公转的运动周期为基础而制定的历法,阴历在天文学中主要指按月亮的月相周期来安排的历法,即以朔望月作为确定历月的基础。虽然现在趋于使用阳历,但我国仍有许多节日使用阴历,有时用EXCEL设置表格时,会用到阴历,但EXCEL中并没有专门的函数来进行阴阳历转换,可以使用公式来进行辅助转换。

操作方法

(01)虽然EXCEL中没有专门的阴阳历转换函数,却保留了一种格式“[$-130000]”,可以将阳历转换为阴历,如图使用文本函数TEXT,使用此格式,就可以进行转换:=TEXT(A1,"[$-130000]yyyy年m月d")

EXCEL中如何使用公式将阳历转换为阴历

(02)不过这样转换出来的阴历不符合我国使用习惯,再加个格式,转换成汉字:=TEXT(A1,"[$-130000][dbnum1]yyyy年m月d")

EXCEL中如何使用公式将阳历转换为阴历 第2张

(03)当阴历日小于等于“十”时习惯在前面加个“初”字,才比较顺口,所以再增加个条件判断:=TEXT(A1,"[$-130000][dbnum1]yyyy年m月"&IF((--TEXT(A1,"[$-130000]d"))<11,"初","")&"d")

EXCEL中如何使用公式将阳历转换为阴历 第3张

(04)当阴历为“一月”时,习惯上不称之为“一月”,而称为“正月”,这样就需要对月份也进行判断,当月份为“一”时,将之改为“正”,不过使用条件函数判断,公式会较长,也可以直接使用替换函数,将“一月”替换为“正月”,但是因为“一月”、“十一月”的后两个字都是“一月”,直接替换会出错,所以我们可以将“年”也带进去,将“年一月”的替换为“年正月”:=SUBSTITUTE(TEXT(A1,"[$-130000][dbnum1]yyyy年m月"&IF((--TEXT(A1,"[$-130000]d"))<11,"初","")&"d"),"年一月","年正月")

EXCEL中如何使用公式将阳历转换为阴历 第4张
EXCEL中如何使用公式将阳历转换为阴历 第5张

(05)另外,习惯上将“十二月”称为“腊月”,可以再加个替换:=SUBSTITUTE(SUBSTITUTE(TEXT(A1,"[$-130000][dbnum1]yyyy年m月"&IF((--TEXT(A1,"[$-130000]d"))<11,"初","")&"d"),"年一月","年正月"),"十二月","腊月")

EXCEL中如何使用公式将阳历转换为阴历 第6张

(06)不过如果遇到阴历闰月,当年闰月后的月份就会增加一个月,这是公式无法妥善处理的。