本文讲了如何在Excel中制作简单的排班表。
1,排班表Layout效果
- B2 单元格找那个输入 日期
- C3 - AG3 输入日,就是该月份的几号,比如1月5号,就输入5
如果是周六周日,背景色显示为绿色
- B4 ~ 输入员工名称
当 B2 中年月发生变化的时候,C3 - AG3 会跟着变,背景色也会跟着变
比如变为B2变为 2025年5月
当然这里有很多不足,咱们先看看这个是怎么做的吧,具体需要改进以后再说。
2,准备好Lyaout 并调整格式
Layout就下面这样的,照着画就行。
2-1,格式设置
- B2 输入日期,比如 2025/1/1
B2的默认各位应该为标准,把其格式改为日期
- C3 设为 B2
即C3设为B2单元格中设置的月初第一天
- D3 设为 C3+1
D3就设为B2所输入的月的第二天
- 选中D3,向右拖动到 E3 - AG3
- 选中 C3 - AG3,然后设定格式
自定义,格式为 d (即为本月的某天)
效果就是下面这样的
当然如果该月的日期少于31天,那么最后面的几栏是下个月的1日,2日...,这个我们后面再说
3,设置周六周日的背景色
3-1,新建规则
Menu > 开始 > 条件格式 > 新建规则
选 使用公式确定要设置格式的单元格,然后输入公式
- =weekday(C2,2)>5
这个公式是啥意思呢?
就是算一下单元格C2 中的日期是周几,然后如果大于5的话,表示是周六周日
那为啥设置C2呢?这是因为Excel当中,像这种选多个单元格的时候,输入起头那个就可以了。
3-2,weekday 函数
这里要插一下weekday 函数
- weekday(参数1,参数2)
参数1:输入-日期值
参数2:输出-返回Type
- 返回Type又分为3种
- 1:返回1 - 7,周日~周六,即 1-周日,2-周一,...,6-周五,7-周六
- 2:返回1 - 7,周一~周日,即 1-周一,2-周二,...,6-周六,7-周日
- 3:返回0 - 6,周一~周日,即 0-周一,1-周二,...,5-周六,6-周日
所以上面的公式 =weekday(C2,2)>5 ==》 =weekday(C2,3)>4 效果也是一样的。
3-2,设置背景色
回到 上面的话题。
接着点 格式,然后选一个颜色,比如绿色
这样效果就出来了。
改一下B2 单元格的值,比如为 2025/3/1,这样绿色背景色的周六周日也会随之变化。
然后还需要设置一下B2 的格式为 YYYY年MM月
这样就更为稳妥了。
4, 完善 - 月末之后的多余日期隐藏
这个日程表有个问题,就是某月少于31天的话,则会显示下一个月的前几天
比如 2月的表,显示了3/1,3/2,3/3
选中最后3天,然后点 Menu > 开始 > 条件格式 > 新建规则
选 使用公式确定要设置格式的单元格,然后输入公式
- =TEXT(AE3,"YYYYMM")>TEXT($B$2,"YYYYMM")
这个公式是说,如果所选单元格中的年月值大于指定年月的值,那么就适用格式
那么格式设置就简单了哈
- 背景设为白色
- 字体设为白色
效果就像这样
哎?蒙B,为啥后面不好用呢?
这是因为规则有先后,咱们那个规则默认被放前头去了
Menu > 开始 > 条件格式 > 管理规则
选中规则,点一下 向下箭头 按钮
这样就好用了
TODO:我发现,好像规则的适用不是按照上面的顺序来的,有点儿诡异,如果你设置几次都不好用,那你可以关一下文件再开一下试试。
参考:
EDATE関数やEOMONTH関数で支払日や満期日の日付を求めよう!- My Cloud : 富士通パソコン
更多内容请参照东京老树根博客主页
东京老树根-CSDN博客