楼上的方法不能处理同名学生的情况,下面我介绍我的办法。
根据你的情况,同一学校里同名学生的概率还是很大的,所以合并时,不但要对比姓名,还要对比班级,也就是把班级和姓名都相同的项目合并在一起
假设表1为sheet1,其中:班级、姓名、学号,分别在sheet1的A、B、C三列。表2为sheet2其中的班级、姓名、成绩分别在sheet2的A、B、C三列。
一、先把sheet1中班级和姓名组合,形成一个新的字符串
在sheet1的D1输入:=A1&B1,然后向下拖动复制。
二、然后在sheet2中也合并一个班级组合姓名的字符串
选择sheet2的C1单元格->插入->列->这时候成绩就跑到D列了,C列为新插入的列,在C1中输入:=A2&B2。向下拖动复制。
三、用VLOOKUP导入相应的成绩
在sheet1的E1单元格输入:=VLOOKUP(D1,Sheet2!C:D,2,FALSE)向下拖动复制。
这时候表1中的E列就是对应的学生的成绩了。你可以选择E列,然后复制,然后点击D1,再点鼠标右键->选择性粘贴->选择“数值”,就全部处理好了。
当然你必须保证两个表中的姓名、班级的格式书写都一致。比如字中间是否加空格了、123 一二三 这样的书写前后是否一致。
你也可以这样写:
=IF(ISERROE(VLOOKUP(D1,Sheet2!C:D,2,FALSE)),"请检查格式",VLOOKUP(D1,Sheet2!C:D,2,FALSE))
找不到的时候,会有提示检查俩表的格式是否一致的。
关于VLOOKUP()函数
这个函数VLOOKUP()正好就是你要的功能
函数有4个参数VLOOKUP(参数1,参数2,参数3,参数4)
参数1:你要对比的那个单独的单元格
参数2:你要对比和返回的区域,注意是在这个区域的第一列中寻找有没有参数1
参数3:如果在参数2这个区域中能找到参数1,那由参数3来决定返回这个区域中哪一列的对应的值。
参数4:默认是true 就是在没有完全一样的值的时候进行近似的对比,要求对参数2必须进行过排序(降序),如果是FALSE则不用排序,这时候进行完全的对比。如果在参数2的第一列找不到一致的内容,会返回错误信息#N/A。
在表一D2输入公式:
=if(iserror(vlookup(a2,Sheet2!a:c,3,0),"",vlookup(a2,Sheet2!a:c,3,0))
向下复制公式
VLOOKUP(查表依据,表格,第几列,是否要找到完全相同值)
在一个表格的最左列中,寻找含有“查表依据”的字段,并传回同一行中第几列所指定的单元格内容
例:Sheet1中A列为姓名,B列为性别;Sheet2中A列为姓名,要在B列中返回与Sheet1姓名相对应的性别,则在Sheet2的B列单元格中输入公式:
=VLOOKUP(A1,Sheet1!A1:B10000,2,FALSE)
够详细了吧?