EXCEL合并多个工作表.doc
文本预览下载声明
EXCEL合并多个工作表(提取工作表数据)在工作中,我们常常会遇到如下问题:
??? 1.?需要将两个工作表合并到一个。
??? 2.?需要从一个工作表中提取某列的部分数据到另一个工作表中。?
情况一:A、B两个工作表的数据的行数、排序等内容完全一样,只是列数不同。
解决办法:
??? 问题1:最简单的方法,就是将A工作表与B工作表不同的列复制到B工作表中空白列即可。
??? 问题2:最简单的方法,就是将A工作表中某行与B工作表对应数据行的数据复制到B工作表相应列的空白行中即可。
??? 当然,以上是最简单的情况下的最简单办法。只是复制粘贴即可。?
情况二:A、B两个工作数据行不同,A数据多,B数据少,A有包含B所需要的数据。需要从A中提取需要的数据到B中。
??? 针对此问题,问题1和问题2是用同一个方法来操作。只不过,一个是提取一列,另一个可能是提取多列。所以,我们以提取一列来操作。多列的情况,则是可以举一反三来做的,就不一一列举了。?
??? 为了让大家更好的理解,笔者准备了两个示例工作表,按步骤展示操作。
图1? sheet1工作表
??图2? Sheet2工作表
???? 从图中可以看出:sheet1工作表中是某学校某年级各班级学生成绩表,包含学生考号、班级、姓名、语文、英语、数学、物理、化学、政治、历史、地理、平均分、年级名次、班级名次共15列。按考号从低到高显示学生信息(这里只显示了25行,实际有1500多个学生的考试数据)。
??? Sheet2工作表中这些学生中语文成绩超过100分的学生考号、班级、姓名、语文成绩共4列,这里按语文成绩从高到低排序显示学生信息(这里只显示了25行,实际有50个学生的考试数据)。
??? 我们想了解一下,这些语文成绩都超过100分的50名学生在年级中名次是多少?!我们要如何操作呢?
??? 第一步,在Sheet2表的E列(第5列)的E1位置输入表标题:名次。
??? 第二步,在Sheet2表的E列(第5列)的E2位置输入:
=VLOOKUP(A2,Sheet1!$A$2:$N$2000,14,TRUE)
图3? Sheet2表E2位置公式和数据
???? 第三步,将光标移到E2右下角,当显示为“+”时,双击鼠标左健,整列数据即完成。
图4? Sheet2表E3位置公式和数据
???? 到此,从Sheet1中提取相应学号学生的年级名次数据,已经完成了。?
???? 是不是很简单呢?!--唔,我知道你在怀疑这些提取的数据是否正确的问题。
???? 那么我们将Sheet1中的数据整体复制到Sheet3中,再按语文列从高到低排序。可以看到名次列与考号对应的值与上图(图4)所示表中一致。如下图所示:
?图5? 按语文成绩排序过的成绩表
?
???现在再解释你有关刚才输入的公式的疑惑。EXCEL原公式结构为:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)??
??? 我这里输入的是:=VLOOKUP(A2,Sheet1!$A$2:$N$2000,14,TRUE)
说明:
???A2:表示根据Sheet2表与Sheet1表中第一列值进行对比,找相同的名称来匹配(所以,这一列应该是唯一的)。注意:值须按值增逆排列(笔者在操作时,有一次打乱考号顺序操作,结果获得的名次与实际不符,据分析是EXCEL按与A列(考号)匹配的值存在E列(名次)中,未排序。即提取的值是未经排序后的值。因此建议一定要排序来提取值)。
??? Sheet1!$A$2:表示Sheet1表的A列第2行(即A2)开始搜索对比。
??? $H$2000:表示Sheet1的N列第2000行结束。如果你的行数比这大,要增加(注:因本表中只有1500多条数据,用2000有余。可以写精确值,也可以写稍大一些值。但不能低于有值的行数,否则可能有些数据查不到)。
??? 14:表示提取的是第14列的值,即N列。
??? TRUE:表示显示精确值,如果Sheet1中找到值,则会显示:#REF!。
----------------------------------------------------------------------------
注:以上为在EXCEL2007中同一个EXCEL文件的不同工作表中操作。
另:为了避免出错和核对数据,不建议直接在原数据上进行操作,建议是复制到新文件中进行以上操作。
显示全部