乐于分享
好东西不私藏

Excel 零代码自制标准月历,一行公式搞定整月日历模板

Excel 零代码自制标准月历,一行公式搞定整月日历模板

每次做月度计划表、排班表、打卡表,还要手动填日期、对齐星期?今天分享只用SEQUENCE函数,一键自动生成规整月历,周一开头、自动对齐日期,修改月份就能一键切换,新手也能直接抄作业。
一、成品效果先看
如图是 2026 年 8 月自动生成日历,规则亮点:

  1. 表头固定:A2-G2 依次为周一、周二、周三、周四、周五、周六、周日,国内通用星期排序;

  2. 自动错位日期:当月 1 号落在周六,自动填充到周六列,上月多余日期一键隐藏,界面干净;

  3. 6 行 7 列固定表格,适配绝大多数月份,大月 31 天、小月 30、28/29 天二月都兼容;

  4. 仅需修改 A1 单元格的月份日期,整张日历自动刷新,不用改公式。

二、分步搭建月历模板
步骤 1:搭建基础表头框架

  1. A1 单元格输入当月首日:2026/8/1(必须输入当月 1 号,用于月份判断);

  2. A2:G2 输入星期表头:周一、周二、周三、周四、周五、周六、周日;

  3. 选中 A3:G8 区域(6 行 7 列,完整月历格子),准备粘贴核心公式。

步骤 2:核心万能公式(直接复制)
编辑栏输入公式:
A3=SEQUENCE(6,7,$A$1-WEEKDAY($A$1,2)+1)
公式拆解,看懂原理更好改:

  1. SEQUENCE(6,7,起始日期):生成 6 行 7 列连续日期矩阵,对应 6 行星期、7 列星期栏;

  2. $A$1:我们输入的当月 1 号基准日期;

  3. WEEKDAY($A$1,2):模式 2 = 周一为 1、周日为 7,完美匹配国内周一开头表头;

  4. $A$1-WEEKDAY($A$1,2)+1:自动算出本周第一格的起始日期,实现日期自动错位排版。

步骤 3:正确隐藏上月多余日期:

  1. 保持选中 A3:G8 全部日历单元格;

  2. 顶部菜单栏【开始】→【条件格式】→【新建规则】;

  3. 规则类型选择:使用公式确定要设置格式的单元格;

  4. 在输入框粘贴判断公式(注意 A3 不要加 $ 锁定):
    =MONTH(A3)<>MONTH($A$1)
    含义:如果单元格日期的月份 ≠ A1 单元格的目标月份,就执行隐藏格式;

  5. 点击右下角【格式】按钮,切换到【数字】选项卡,分类选「自定义」,类型输入;;;(三个英文分号),确定保存;
    原理:自定义格式;;;代表正数、负数、零、文本全部不显示,非当月日期直接空白,当月日期正常展示。

步骤 4:美化日期显示为两位数字(01、02 格式)
单独给当月日期统一两位显示:

  1. 再次选中 A3:G8;

  2. 右键【设置单元格格式】→自定义,输入代码:dd;

  3. 确定后,所有日期自动变成两位数(1→01、9→09、31→31),排版整齐统一。

三、模板实用美化技巧
技巧 1:周末灰色区分

  1. 选中 A3:G8,新建条件格式规则,公式:
    =OR(A$2="周六",A$2="周日")

  2. 设置填充浅灰色底色,快速区分工作日 / 休息日。

技巧 2:当日自动标红高亮
新增条件格式规则,公式:
=A3=TODAY()
设置字体加粗、红色,打开表格自动高亮今天,打卡、日程超好用。

技巧 3:一键切换任意月份
仅修改 A1 单元格里的XXXX/XX/1,整张日历排版、隐藏规则全部自动更新,全年通用一套模板。

技巧 4:适配周日开头(海外日历)

  1. 表头改为:周日、周一、周二…… 周六;

  2. 核心公式内WEEKDAY($A$1,2)替换为WEEKDAY($A$1,1)。