体验零代码搭建

利用Excel的函数和筛选功能巧妙分班

网友投稿  ·  2024-01-19 11:01  ·  所有内容  ·  阅读 398


1、处理思路 学校大多根据学习成绩进行分班,一般是按总分名次来划分的:比如要分8个班,则第1名分到一班、第2名分到二班……第8名分到八班,接着第9名分到八班、第10名分到七班……第16名分到一班2、划分班级。

1、处理思路 学校大多根据学习成绩进行分班,一般是按总分名次来划分的:比如要分8个班,则第1名分到一班、第2名分到二班……第8名分到八班,接着第9名分到八班、第10名分到七班……第16名分到一班2、划分班级。

利用Excel的函数和筛选功能巧妙分班

先将学生情况及成绩调入Excel工作表中,按总分降序排列(假设总分在H列,第一名在第三行),在总分列的右一列(即I列)从I3单元格开始向下填充1、2、3……再在其右一列(即J列)用公式算出应分在哪一个班级。

具体操作如下:在J3单元格中输入公式: “=IF(MOD(I3,2*8)>8,8-MOD(I3,8)+1,(IF(MOD(I3,2*8)=0,1,MOD(I3,2*8))))”,再在J列按公式将每名学生自动填充上班级号,每个工作表改名为一班、二班……在每个班级工作表中复制和原表一样的表头,在原成绩表中用“自动筛选”按班级号筛出各个班级的学生,并将其复制到相应的各个班级工作表即可。

小提示:以上公式中的“8”是要划分的班级个数,可以根据班级数的变化而修改,若分成n个班级,则总公式为 “=IF(MOD(I3,2*n)>n,n-MOD(I3,n)+1,(IF(MOD(I3,2*n)=0,1,MOD(I3,2*n))))”

3、打印名单 分好班级后,要把各班级的学生名单打印出来,一个班最好用一张标准纸,可用分栏打印解决班级人数多的问题而Excel没有专门的分栏打印功能,我就利用Excel的公式制作出分栏打印效果 具体操作如下:先将某一班级名单按自己要求设置好,如页边距、表头、行高、字体等。

在打印预览中,判断出每页的数据行数x(所谓数据行,指表头除外的记录行),回到普通视图下,在表的右边空列中,从第一数据行开始填充自然数序列1、2、3……假设此列在K列,第一数据行为第3行,则在L3单元格中填入公式“=mod(int((K3-1)/x),y)”(其中x为每页的数据总行数,y为分栏的栏数,就分班而言,两栏就够用了),并向下填充整个表。

则该列出现了从0到y-1的数,即给每行计算出了该行所在的栏号,复制表头到新的工作表或新建的工作薄中在班级工作表中也用“自动筛选”功能分别筛选出第0栏、第1栏……第y-1栏,并分别复制到新工件表中 再对各新工作表进行相应的设置,如页边距、表头、行高、字体等,注意不要逐个工作表进行设置,按住“Ctrl”键,用鼠标单击窗口中需要设置相同内容的各个不同工作表标签,在其中一个工作表中修改设置,另外的工作表中就能自动修改。

所有工作表都设置好后,分栏打印的各班名单就制作好了,用打印机打印出来便大功告成 此方法都保留了原表,有利于修改,如要改变班级数、打印栏数、每页行数,只需改变n、x、y的值另外,此方法用的是“自动筛选”功能,也可以用“高级筛选”来完成,大家可以试一试。


复合饼图:Excel图表制作心得 << 上一篇
2024-01-19 11:01
Excel表格中新插入行后如何在数据的最底部动态求和
2024-01-19 11:01
下一篇 >>

相关推荐