在 Excel 里面制作日历,主要有两种思路,第一种是利用函数自动生成动态月历,修改年月之后,整月日期自动更新,第二种是直接插入系统自带日历控件或者模板,适合快速使用,动态月历是学习重点,核心用到 DATE 函数生成当月第一天,WEEKDAY 函数判断当月第一天是星期几,然后填充整月日期,再结合 IF 判断,把不属于本月的日期隐藏,做成标准周一到周日或者周日到周六的七列日历版式,适合排班表,工作计划,日程台账,很多新手做日历的时候,不会处理当月第一天前面的空白格,还有跨月日期显示,导致日期错位,动态日历做好之后,只需要修改年份和月份单元格,整张日历自动刷新,不用每个月手动填写,比手工排版更加高效,制作前确定星期起始,是周一开头还是周日开头,这个会影响 WEEKDAY 函数的参数设置。
方式一 函数动态月历 自动更新日历
这个是最推荐的自制动态日历,可以切换年月,自动生成整月日期。
准备区域
A1 单元格输入年份,B1 单元格输入月份,作为参数输入单元格
第二行表头:周日 周一 周二 周三 周四 周五 周六(也可以改成周一开头)
操作步骤
1 在 D3 单元格,也就是日历第一个日期单元格,输入公式
=IFERROR (1+(D2−WEEKDAY(DATE(A1,B$1,1)))+ROW (A1)7+COLUMN (A1)-1,"")
如果是周一开头版式,需要调整 WEEKDAY 第二参数为 2
2 回车之后,向右填充 7 列,再向下填充 6 行,形成 7 列 6 行的日历网格
3 增加判断,只显示当月日期,非本月空白,修改公式嵌套 IF
=IF (MONTH (1+(D$2-WEEKDAY (DATE ($A$1,$B$1,1)))+ROW (A1)7+COLUMN (A1)-1)=$B$1,1+(D2−WEEKDAY(DATE(A1,B$1,1)))+ROW (A1)7+COLUMN (A1)-1,"")
4 选中日期区域,单元格格式设置为日期格式,只显示日
5 可以搭配条件格式,把周末日期单独标红,还可以增加备注列填写日程
补充说明
修改 A1 年份,B1 月份,整张制作好的日历会自动重新计算,自动更新下个月日期。
方式二 套用内置日历模板 快速制作日历
如果不需要复杂自定义,直接调用 Excel 自带模板,一键生成成品日历。
操作步骤
1 打开 Excel,点击文件,选择新建
2 在搜索框输入 日历,搜索模板
3 选择需要的类型,月历,年度日历,带备注的工作日历
4 点击创建,自动加载模板
5 模板里面已经写好函数和排版,可以直接修改年份,编辑备注事项
补充说明
WPS 也有大量在线日历模板,优点是速度快,缺点是自定义程度不如手写函数动态日历。
方式三 手工静态日历 简易排版
适合一次性单月日历,不需要自动更新,纯手动排版。
操作步骤
1 第一行合并单元格,输入标题,例如 2026 年 11 月日历
2 第二行输入星期表头,周日到周六
3 查询当月第一天星期,前面空出对应单元格,然后按顺序填写 1 号到当月最后一天日期
4 设置单元格边框,调整列宽行高,周末单元格填充颜色
5 增加备注区域,填写日程安排
补充说明
优点是简单上手,缺点每个月都要重新制作,不能自动切换年月。
方式四 超级表 + 日历 日程日历
在动态日历基础上,结合超级表,增加任务、事项备注,做成可筛选日程日历。
操作步骤
1 先完成动态月历网格
2 在旁边建立任务明细表,包含日期,事项,负责人
3 可以用 XLOOKUP 或者 VLOOKUP,根据日历日期自动匹配对应的事项,显示在日期格子下方
补充说明
适合排班、项目计划,做成带任务的工作日历。
制作日历方案对比表
| 方案 | 是否自动更新 | 优点 | 缺点 |
|---|---|---|---|
| 函数动态月历 | 是 | 自定义强,切换年月自动刷新 | 需要理解 DATE WEEKDAY 函数 |
| 内置模板 | 是 | 一键生成,成品美观 | 自定义修改有局限 |
| 手工静态日历 | 否 | 操作简单 | 每月需要重新填写 |
| 日程任务日历 | 是 | 可以绑定事项任务 | 公式相对复杂 |
制作动态日历重点记住 DATE 生成当月首日,WEEKDAY 判断首日星期,IF 筛选只保留本月日期,制作完成之后设置单元格日期格式,增加条件格式标记周末,如果想要周一作为一周第一天,WEEKDAY 函数第二参数设置为 2,这个是最容易出错的地方,做完测试切换月份,检查日期有没有错位。
【常见问题】
问题 1 Excel 怎么制作日历切换月份之后日期错位怎么办
回答 1 Excel 怎么制作日历切换月份之后日期错位,绝大多数是 WEEKDAY 参数没有匹配星期起始,周日开头和周一开头参数不一样,核对 DATE ($A$1,$B$1,1) 当月第一天的星期,调整 WEEKDAY 第二参数,重新填充公式,日历日期就不会错位。
问题 2 Excel 怎么制作日历能不能把周末单独标颜色
回答 1 Excel 怎么制作日历可以把周末单独标颜色,选中日历日期区域,新建条件格式规则,根据单元格日期对应的星期,周六周日设置红色字体或者填充底色,工作日保持默认颜色。
问题 3 Excel 怎么制作日历旧版本没有动态数组怎么办
回答 1 Excel 怎么制作日历旧版本没有动态数组,依然可以使用 DATE 和 WEEKDAY 普通公式制作动态月历,普通函数所有旧版本都支持,不需要动态数组,只需要向右向下填充公式即可。
问题 4 Excel 怎么制作日历可以增加节假日标记吗
回答 1 Excel 怎么制作日历可以增加节假日标记,提前准备节假日日期表,用 IF 判断日历单元格日期是否匹配节假日,匹配之后自动填充特殊颜色或者标注节假日文字,搭配条件格式实现高亮。
【免责申明】
本文内容基于 Excel 常规版本操作进行编写,不同版本 Excel 以及 WPS 模板库、函数参数界面存在细微差异,操作过程中如果界面存在差别,请以本机软件实际显示为准,本文仅供学习参考,不承担因操作造成的数据丢失等相关责任,重要表格建议提前备份。
本文来自作者[遗踪览知]投稿,不代表丝路生活网立场,如若转载,请注明出处:https://www.shjobhotel.com/shcs/202611/2996.html
评论列表(4条)
我是丝路生活网的签约作者“遗踪览知”!
希望本篇文章《Excel 怎么制作日历 动态月历制作教程》能对你有所帮助!
本站[丝路生活网]内容主要涵盖:教育咨询,知识百科
本文概览:在 Excel 里面制作日历,主要有两种思路,第一种是利用函数自动生成动态月历,修改年月之后,整月日期自动更新,第二种是直接插入系统自带日历控件或者模板,适合快速使用,动态月历是学习重点,核心用到 DATE 函数生成当月第一天,WEEKDAY 函数判断当月第一天是星期几,然后填充整月日期,再结合 IF 判断,把不属于本月的日期隐藏,做成标准周一到周日或者周日到周六的七列日历版式,适合排班表,工作计划,日程台账,很多新手做日历的时候,不会处理当月第一天前面的空白格,还有跨月日期显示,导致日期错位,动态日历做好之后,只需要修改年份和月份单元格,整张日历自动刷新,不用每个月手动填写,比手工排版更加高效,制作前确定星期起始,是周一开头还是周日开头,这个会影响 WEEKDAY 函数的参数设置。