excel中如何用当天日期对照出当天干支

如题所述

按照网上搜索出来的公式,我按步骤自己代入Excel,写了如下公式,如图:

干支纪日法计算过程

B1单元格输入公历日期,B12输入公式后出干支。按照Excel计算结果,我大概对照查了一下万年历,基本没错,可以将就用了。

B12单元格公式如下:

=MID("甲乙丙丁戊己庚辛壬癸",MOD(LEFT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)*4+INT(LEFT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)/4)+RIGHT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)*5+INT(RIGHT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)/4)+INT((IF(MONTH(B2)=1,13,IF(MONTH(B2)=2,14,MONTH(B2)))+1)*3/5)+DAY(B2)-3-1,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(LEFT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)*8+INT(LEFT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)/4)+RIGHT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)*5+INT(RIGHT(IF(OR(MONTH(B2)=1,MONTH(B2)=2),YEAR(B2)-1,YEAR(B2)),2)/4)+INT((IF(MONTH(B2)=1,13,IF(MONTH(B2)=2,14,MONTH(B2)))+1)*3/5)+DAY(B2)+7+IF(ISODD(MONTH(B2)),0,6)-1,12)+1,1)

回答结束,望采纳。

温馨提示:答案为网友推荐,仅供参考
相似回答