咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

内容导航:


一、excel求农历生日


B1=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A1,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A1,"[$-130000]e")-4,12)+1,1)&MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(TEXT(A1,"[$-130000]e")-4,12)+1,1)&"年"&TEXT(A1,"[$-130000][DBNum1]m月")&TEXT(A1,IF(--TEXT(A1,"[$-130000]d")=10,"初十",IF(--TEXT(A1,"[$-130000]d")>10,"[$-130000][DBNum1]d","初[$-130000][DBNum1]d")))


有瑕疵 闰月会有十三月



二、怎么用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日是卅等等。