admin管理员组

文章数量:1531443

2023年12月26日发(作者:)

前两天一位班主任复制给我两个EXCEL表,分别是他所带班级的语文及数学成绩各在前30名的学生(如图1),需要把两个表合二为一,同时还要显示出语文及数学成绩均在前30名的学生,这可是个难题!

经过我的冥思苦想和不断尝试,终于找到了解决之道,那就是使用IF函数,让数据各就各位。

下面我们详细讲讲如何使用IF函数解决这个问题。文章末尾提供.xls文件供大家下载参考。

操作步骤:

第一步、合二为一

第二步、表格排序

第三步、用IF函数,让成绩各就各位

第四步、表格筛选

第五步、删除重复的数据

(图片较大,请拉动滚动条观看)

第一步、合二为一

分别打开“语文”及“数学”这两个EXCEL表格,大家从图1中可以看出,两个表格的列数是一样的,A列是名次,B列是学生编号,C列是姓名,D列是成绩。

如果直接将“数学”表格中的数据复制到“语文”表格中,因为D列同是成绩,那么就无法区分出语文及数学成绩了,所以在复制“数学”表格的数据前,在“数学”表格的D列顶端单击鼠标左键,选中整列,然后单击鼠标右键,选择其中的“插入”,在D列前插入一列。

这样,“数学”表格中的成绩就由D列变为E列了。接下来从表格的第2行起,拖动鼠标选到第31行,然后在选中的列表上点右键,选择“复制”,再将表格窗口切换到“语文”表格窗口中,在A列下的空白位置,第32行的第一个格上单击鼠标右键,选择菜单中的“粘贴”,这样就把两个表格的数据合二为一了,如图2。

图2

第二步、表格排序

从图1中可以看出,表格的A列是名次,存有并列重复现象,C列是学生名称,也有可能存在重名,而B列的学生编号是唯一的,不会发生一个学生多个编号的现象。所以表格的排序就以B列(学生编号)为关键字。选中B列,点击EXCEL菜单中“数据”下的“排序”,在弹出的“排序警告”窗口中,按其默认设置“扩展选定区域”,点“排序”按键打开“排序”窗口,如图3。

图3

注意:在“主要关键字”中是否选择的是B列(学生编号),如果不是,可手动选择,排列顺序按默认的“递增”,因为这个表格有标题行,所以在“当前数据清单”项中,选择“有标题行”这一项。设置完成后,点“确定”就完成了排序工作,如图4,可以看出,编号从小到大递增排列,编号相同的也是依次排列。

图4

第三步:用IF函数,让成绩各就各位

先来熟悉一下IF函数的语法结构:“IF(条件,成立的结果,不成立的结果)”。意思是,对函数中的“条件”进行判断,如果“条件”成立,也就为TRUE,那就输出“成立的结果”;如果“条件”不成立,也就是为FALSE,则输出“不成立的结果”。在“条件”中,还可以使用“=、<>、>、<、>=、<=”等关系运算符作为“条件”的表达式,然后按照运算的结果不同,输出不同的结果!好,先简要说这么多,下面切换到我们的主题中!在F列的第2单元格中输入下面引号内的公式“=IF(B2=B3,E3,IF(E2="","",E2))”,如图5。

图5

下面我把这段公式的执行过程说一遍。

首先根据“条件(B2=B3)”(单元格B2与B3中的编号)判断是否相等,如果相等,条件为TRUE,就输出“成立的结果(E3)”(在F2单元格内显示E3单元格的内容);如果不相等,条件为FALSE,那就执行“不成立的结果”(嵌套IF中的命令),因为表格只是部分学生的成绩,所以还要再加上一个嵌套IF过程,在这个过程中,先判断E2单元格是否为空,如果为空,说明这一单元格是“语文”表格的单元格,就在F2单元格内显示一个空值;而如果E2单元格不为空时,则说明该行的这一单元格是“数学”表格中的成绩,则在F2单元格中输出E2单元格的内容。

公式输完后,按回车键结束,然后选中F2单元格,移动鼠标至单元格右下方的“+”(填充柄)上,按下左键拖动“填充柄”向下复制公式至表格底部。现在再来观察一下表格,如图6,是不是已把编号相同的数学成绩和语文成绩排在一行了,对于没有重复编号的,该公式也复制了E列中的数学成绩到F列中。

图6

从图6中可以看出,表格中存有两行数学成绩,如何把F列的数据转移到E列中呢?首先选中并复制F列,然后在E列上单击右键,注意这次在菜单中选择的是“选择性粘贴”,打开“选择性粘贴”窗口,在“粘贴”项中选择“数值”,如图7,点“确定”键便完成数据转移,当然,不要忘了删除F列。

图7

第四步、表格筛选

下面就可以在表格中筛选语文及数学成绩均在前30名的学生了!这里还是要用IF函数,对重复编号的作一个标记。先来分析一下如何写IF函数,编号重复,则说明该编号的学生语文及数学均在前30名,所以才会出现重复编号。明白了这个道理,就可以写IF语句了,在F列的第2单元格内输入公式“=IF(B2=B3,1,"")”,如图8。

图8

这段公式的意思是:如果单元格B2(学生编号)与B3相同,那就在F2单元格内显示“1”,如果B2与B3单元格的内容不同,则在F2单元格内显示空。这里所输出的“1”只是用来作筛选的标记,也可以把它写为“2”或者“a”等之类的字符。然后再拖动单元格的“填充柄”至复制公式至表格底部,这样,凡是有重复编号的,会在第一个编号行的F列中对应的单元格内显示“1”。其实也可以通过判断某一列内语文与数学成绩是否同时存在作为条件,来作标记,相应的IF函数语句是:“=IF(AND(D2<>"",E2<>""),1,"")”,这里加入了AND函数来做判断,有兴趣的朋友可自已测试一下。

罗哩罗嗦说了这么多,终于该说筛选了,选中F列,点击菜单中的“筛选”-“自动筛选”,然后再点F顶端的筛选箭头,选择其中的“1”或“非空白”均可,如图9。

图9

图10

图10显示的就是筛选出的语文及数学成绩均在前30名的学生,呵呵!还真不少呢!

第五步、删除重复的数据

既然已完成了筛选,为什么又出现了第五步?俗语说:“帮人帮到底”,表格中还有重复的数据没有清除,怎么能算完成呢?点击菜单中的“筛选”-“自动筛选”,去掉“自动筛选”前的对勾,显示全部的数据。在这里我们要删除重复的编号,而这些编号也有一个规律,第一个编号所在行含有语文及数学成绩,而第二个编号所在行只有数学成绩,所以只要给第二个编号所在行打上标记就可以了,同样还是使用IF函数,在G列的第二个单元格内输入公式:“=IF(B1=B2,1,"")”,如图11,

图11

注意和上面的那个作标记的有一点不同,这个是把标记作在只有数学成绩的重复编号行中。再拖动G2的“填充柄”复制公式到表格底部,然后使用“筛选”菜单中的“自动筛选”,筛选出标记为“1”的行,这些显示的就是数据重复行,接着选中它们,在右键菜单中点“删除行”,如图12,就从表格中清除了这些重复的数据。

图12

OK,任务完成了,有没有感觉出IF函数的神奇,在EXCEL中,不仅是IF函数,还有其他的函数,都有很强大的功能,相信有兴趣的朋友一定能研究出更多、更好的使用技巧!

本文标签: 表格编号数学成绩语文