阳历/农历转换对照表怎么做? Excel制作日历表/万年历的最终版


    之前跟大家分享了《Excel简易日历表/万年历,只需简单几步,轻松搞定!》,今天就再跟大家分享一下农历公历同步显示日历表/万年历制作方法,同时模板中包含一份阳历、农历的对照表(农历1900年-2100年),通过这个对照表,你只需知道阳历日期,就可以快速准确的找到对应的农历日期。下面先看农历公历同步显示日历表/万年历效果:
    
    制作日历表/万年历必备知识点:
    如果我们想在Excel中制作一个日历表/万年历的话,我们必须要知道一个规律:
    某个日期减去这个日期对应的星期数再加上1,就一定会得到这个日期所在周的周一的日期
    如下图所示,我们用日期2024-3-6减去它对应的星期数3再加上1,结果为2024-3-4就是3-6号所在周的周一。
    
    制作步骤:
    第一步:制作一个万年历表头和准备对应的阳历、农历的对照表
    如下图所示,我们制作一个万年历表头,包含周一到周天,有年份和月份选择(年份和月份制作成下拉菜单,可以把数据隐藏);需要有一份阳历、农历的对照表,方便通过阳历获取对应的农历日期。
    
    第二步:制作日历表阳历/农历日期
    1、先制作第一行第一个单元格的阳历日期
    在目标单元格中输入公式:
    =DATE(B1,E1,1)-WEEKDAY(DATE(B1,E1,1),2)+1
    然后点击回车,把数据格式改成日期格式
    
    解读:
    ①公式中DATE(B1,E1,1)就是构建指定月份的1号日期;WEEKDAY(DATE(B1,E1,1),2)就是获取对应日期的星期数。
    ②我们虽然不确定指定月份的1号日期是否属于周一,但是我们可以使用指定月份的1号日期减去对应日期的星期数再加上1,就是
    =DATE(B1,E1,1)-WEEKDAY(DATE(B1,E1,1),2)+1
    这样我们就获得了指定月份的1号日期所在周周一的日期。
    2、第一行第一个单元格后面的阳历日期
    在目标单元格中输入公式:
    =A3+1
    然后先有填充,把数据格式改成日期格式
    
    3、第一行农历日期根据第一行阳历获取对应的农历日期
    ①因为农历显示单元格的宽度有限,我们需要先把对照表中的农历缩写成显示月和日的格式
    在目标单元格中输入公式:
    =TEXTAFTER(B2,"年")
    然后点击回车下拉填充
    
    解读:
    通过TEXTAFTER函数获取B2单元格中“年”后面的数据。
    ②第一行农历根据阳历获取对应农历日期
    在目标单元格中输入公式:
    =FILTER('对照表(公历农历)'!$E:$E,'对照表(公历农历)'!$C:$C=A3)
    然后点击回车,向右填充数据即可
    
    解读:
    使用FILTER函数根据对照表数据跨表查询阳历对应的农历数据。
    4、制作其它行的阳历和农历日期
    ①生成第二行阳历日期
    在A5单元格中输入公式:
    =G3+1
    然后点击回车
    接着,在B5单元格中输入公式:
    =A5+1
    然后先后填充数据即可
    
    ②然后复制数据填充下面的位置即可
    
    生成12行7列的日历表,如下图所示
    
    第三步:把日历中的日期改成只显示几号,并设置阳历和农历样式
    ①修改日期显示类型
    首先全选日期数据→然后点击组合键【Ctrl+1】调出“单元格格式”窗口→在自定义选项下把【类型】改成d→最后点击确定即可
    
    ②设置阳历和农历样式
    方法:
    先把阳历日期字体加大加粗(14号字体),农历日期字体缩小到10号字体→然后同时选择第3行和第4行,点击组合键【Ctrl+1】调出“单元格格式”窗口→在【边框】设置外边框和中间左右边框,点击确定→最后点击格式刷为其它行设置相同的格式即可
    
    
    
    第四步:隐藏不属于指定月份的日期
    我们可以使用条件格式,将不属于指定月份的日期,通过格式中的自定义格式,在类型中输入“;;;”,从而达到隐藏数据的效果
    1、设置前2行
    首先选择日期数据区域→打开【条件格式】-【新建规则】调出“新建格式规则”窗口→选择【使用公式确定要设置格式的单元格】将公式设置为:=MONTH(A$3)<>$E$1→然后点击右下角的【格式】找到【自定义】将【类型】设置为“;;;”即可。
    
    
    2、设置后两行方法一样,只是把公式分别改成
    公式:=MONTH(A$11)<>$E$1
    
    公式:=MONTH(A$13)<>$E$1
    
    3、最后可以通过【视图】-去掉【网格线】
    
    
    推荐阅读:
    
  • Excel打造炫酷员工考勤表! 全自动考勤表据实际休息日自动填充颜色
  • Excel透视表1月到12月不能排序怎么办? 数据透视表日期无法排序解决方法