香港腕表价格交流群

【IT达人】用电子表格制作周历自动生成器

2022-01-09 16:31:22


点击上方“济南ITEDU”,一起玩耍

用电子表格制作周历自动生成器

        各位老师好,IT君又跟大家见面了!忙忙碌碌,大家已经工作一周了,有没有点不适应呢?哈哈。IT君想问问大家,开学后大家最想拿到手的第一件物品是什么?教案?课本?新生名单?哈哈,IT君想说:周历!为毛?因为,可以知道什么时候放寒假呀!哈哈,是不是很邪恶!

        由于各种原因,周历并不能第一时间送达到老师手上,在一定程度上会影响大家对教学进度的安排和教学计划的制定。所以,本期IT达人,教各位老师怎样用电子表格制作一个万能的周历表!想什么时候开学,就什么时候开学!

哈哈,话不多说,放教程!

教程详解

辅助列标题是星期的数字代码,分别代表的是星期一、星期二、星期三……

下面的数据行每周占用2行的单元格:第一行计算日期,第二行计算对应的上一行的日期年、月、日中的“日”。这样做,是为了让每个单元格中的公式尽量简化。如果你是办公软件的高手,完全可以用公式嵌套的方法,减少单元格的占用。

公式详解

B4=if(weekday($k$3,2)=b3,$k$2,””),如果开学第一天是周一,则在第1个单元格中填入开学的日期。

C4=if(b4<>””,b4+1,if(weekday($k$3,2)=b3,$k$2,””)),如果前一个单元格中有日期了,则应该执行前一个日期加1;如果前一个单元格是空的,则表示前一个单元格不是开学第一天,需要继续判断weekday()。

B5=if(B4<>””,day(B4),””)。如果上面的单元格中有日期,则取这一天的“日”;如果上面的单元格为空,也就是没有日期,则显示空。

从第二组日期开始,因为不存在计算是否为开学第一天的问题,所以只要将上一个日期加1就可以了,所以

B6=H4+1;C6=B6+1,并向右复制C6。

再来看右边真正的显示区域,本来是只要将单元格所对应的辅助列中相应“日”的数据填充进去就可以了,但是为了能把开学第一天和每个月的第一天能突出显示出来,需要单元格的公式中加上2个if()嵌套。

公式是这样的:N4=if(b4<>””,if(b4=$k$3,month($k$3)&”月”,if(b5=1,month(b4)&”月”,””)),””),然后将公式复制到其他单元格就可以了。

最后的几点说明

1、公式中所有对开学日期$K$3的引用,必须采用绝对引用

2、因为每学期上课的周数是不完全固定的,我们可以根据需要来决定填充公式的行数。需要注意的是:显示区域的行数与辅助列的行数,以及公式是要一一对应的。一边增加,另一边也要增加。

3、条件格式,可以根据自己的喜好,选择自己喜欢的显示方式。

4、关于weekday()函数的使用方法,大家可以查阅下相关资料,这里IT君就不再啰嗦了哈。

5、本表中很多公式是可以继续简化合并的,有感兴趣的老师可以根据自己的情况继续研究哦。

好了,本期IT达人就到这里了,咱们下期再见!

   (撰稿:邓晓辉          技术:刘溪)


友情链接

Copyright © 2023 All Rights Reserved 版权所有 香港腕表价格交流群