如何把两个Excel表中的相同项的数据整合到一起

如图,表一和表二中的姓名一栏有重复的,我想要把每一个人的分数1和分数2都列出来(如图三),分数1和分数2与姓名对应。求助各位大神O(∩_∩)O

此题实际是对不同表格的相同列(字段)进行匹配,然后将能匹配的值所对应的两个表的全字段输出出来形成新表。
思路:匹配字段→全字段输出
方法一:通过公式
使用函数:INDEX()和MATCH()
不使用VLOOKUP或者HLOOKUP,是因为这个函数总有未知出错,不够准确。也许是我学艺未深吧。
1、先将sheet1全部内容拷到新表里面,然后用sheet2的W列与新表的F列进行匹配。
2、假设要将sheet2的a列和b列对照复制到新表的相应行中。
在新表中新增一列=INDEX(Sheet2!A:A,MATCH(新表!$F1,Sheet2!$W:$W,0)),这个是拷贝A列
公式向右填充,则:=INDEX(Sheet2!B:B,MATCH(新表!$F1,Sheet2!$W:$W,0)),这个是拷贝B列
其中:$是绝对引用意思,不因公式拖动而更改列名称。
match()是匹配每字段是否在sheet2的W列有出现,如果出现,返回行号。
index()是根据行号定位所在行的某列的值,返回单元格数值。
3、然后向下填充。
4、如果不希望出现错误符号 #N/A,可以用iferror()函数,用0代替错误符号,这里不展开了。
该方法的局限性:
对于sheet2的W列出现重复值,引用的时候一般是取第一次出现的值。
当sheet1和sheet2都有重复,计算机无法像人那样匹配。
解决办法:
先自己对w列和f列重复项进行查找,然后针对重复项进行认为匹配。
工具:数据透视表
方法:不详细描述了,重点是将f列出现的次数统计出来,对于f列出现次数>1的值记录下来。
方法二:
通过数据库工具,如:Access
Access是office的一个部件,能很好地与excel链接和一同应用。
这个题目其实是关系型数据库的最简单两表间的关联查询。这里不详细描述了。
对于方法一的重复项的局限性,在access中可以很好解决。查询向导有重复项查询、有包含、不包含的查询向导,跟着提示做就行了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-17
笨办法:两表都以姓名排序,再把分数1分数2粘到一起。
当然也可以用VLOOKUP()
第2个回答  2018-01-17
在表1的C列1行输入 Vlookup(A:A,[2的表名.xlsx]Sheet1!$A:$B,2,0),然后回车,再拉下去。本回答被网友采纳
相似回答