Excel 公式函数排课表INDIRECT、TIME、MOD、TEXT函数结合使用

2024-07-02 0

本文首发于2023年5月17日我的同名公众号:学习和使用Excel,更多文章案例请搜索关注!

☆本期总结☆

结合使用INDIRECT、TIME、MOD和TEXT函数

今天在EXCELHOME论坛上看到一位网友求助:

本着帮助别人的精神,我下载了附件,看了看他的手表:

兄弟,老师有1000多人。

闲话少说,经过一番思考,我想出了一个可能的重置表的解决方案,详细信息如下:

1课程表:课程时间由日期和时段组成:

公式分析:

A3IF(B2TIME(18,0,0),A21,A2)如果右侧的前一个单元格是18小时,则日期为1,否则日期与前一个单元格相同。B3IF(A3A2,$B$2,TIME(HOUR(B2),MINUTE(B2)20,SECOND(B2)))如果左边的日期不等于上一个单元格,则时间从头开始,否则上一个单元格是20分钟

2课程表:列出所有课程并计算课程数量并填写在B1单元格中:

公式分析:

B1COUNT(A:A)-1使用COUNT函数对A列中的非空单元格进行计数。减去标题就是所有赔率的数量。

3、老师制定课程表,安排班级和课程的顺序:

公式分析:

B2IF(Class!A2'','',TEXT(Class!A2,'YYYY-MM-DD')''TEXT(Class!B2,'hh:mm'))依次从课程表中获取日期和时间TEXT函数设置日期时间格式并在中间添加一个空格C2IF(B2'','',INDIRECT('Course!A'MOD(ROW()-2,Course!$B$1)2))划分当前行numberby-2根据课程总数求余数得到循环序列,然后使用INDIRECT函数获取以A2开头的引用,得到课程名称。

4、在写这篇文章的过程中,有网友提出还有一个条件,就是根据每个老师的空闲时间来安排课程。由于没有具体的数据表,因此不可能确定某个人在给定时间内的适当计划。但经过一番考虑,可以根据情况采取以下不同的方案:

(1)如果冲突类别不多,可以手动调整初步排列结果。

(2)如果冲突的类较多,可以使用VBA编程来调整初步结果。

好的,今天就这样

☆你可能会喜欢☆

本文使用文章同步助手进行同步本文首发于2023年5月17日于我的同名公众号:学习并使用Excel,文章更多案例请搜索关注。

本站文章均由用户上传或转载而来,该文章内容本站无法检测是否存在侵权,如果本文存在侵权,请联系邮箱:2287318951@qq.com告知,本站在7天内对其进行处理。

发布评论