何何提取两个EXCEL表格中的共有信息(两个表格数据匹配)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
何何提取两个E X C E L表格中的共有信息(两个表格数
据匹配)
-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
使用vlookupn函数实现不同excel表格之间的数据关联
如果有两个以上的表格,或者一个表格内两个以上的sheet页面,拥有共同的数据——我们称它为基础数据表,其他的几个表格或者页面需要共享这个基础数据表内的部分数据,或者我们想实现当修改一个表格其他表格内共有的数据可以跟随更新的功能,均可以通过vlookup实现。
例如,基础数据表为“姓名,性别,年龄,籍贯”,而新表为“姓名,班级,成绩”,这两个表格的姓名顺序是不同的,我们想要讲两个表格匹配到一个表格内,或者我们想将基础数据表内的信息添加到新表格中,而当我们修改基础数据的同时,新表格数据也随之更新。
这样我们免去了一个一个查找,复制,粘贴的麻烦,也同时免去了修改多个表格的麻烦。
简单介绍下vlookup函数的使用。以同一表格中不同sheet页面为例:
两个sheet页面,第一个命名为“基础数据”第二个命名为“新表”。如图1:
图1
选择“新表”中的B2单元格,如图2所示。单击[fx]按钮,出现“插入函数”对话框。在类别中选择“全部”,然后找到VLOOKUP函数,单击[确定]按钮,出现“函数参数”对话框,如图3所示。
图2
图3
第一个参数“lookup_value”为两个表格共有的信息,也就是供excel查询匹配的依据,也就是“新表”中的A2单元格。注意一定要选择新表内的信息,因为
要获得的是按照新表的排列顺序排序。(只需要选择新表中需要在基础数据查找数据的那个单元格。)
第二个参数“table_array”为需要搜索和提取数据的数据区域,这里也就是整个“基础数据”的数据,即“基础数据!A2:D5”。为了防止出现问题,这里,
我们加上“$”,即“基础数据!$A$2:$D$5”,这样就变成绝对引用了。(只需要选择基础数据中需要筛选的范围,另:一定要加上$,,才能绝对匹配)
第三个参数为满足条件的数据在数组区域内中的列序号,在本例中,我们新表B2要提取的是“基础数据!$A$2:$D$5”这个区域中B2数据,根据第一个参数返回第几列的值,这里我们填入“2”,也就是返回性别的值(当然如果性别放置在G列,我们就输入7)。
第四个参数为指定在查找时是要求精确匹配还是大致匹配,如果填入“0”,则为精确匹配。这可含糊不得的,我们需要的是精确匹配,所以填入“0”(请注意:Excel帮助里说“为0时是大致匹配”,但很多人使用后都认为,微软在这里可能弄错了,为0时应为精确匹配),此时的情形如图4所示。
按[确定]按钮退出,即可看到C2单元格已经出现了正确的结果。如图5:
把B2单元格向右拖动复制到D2单元格,如果出现错误,请查看公式,可能会出现,D2的公式自动变成了“=VLOOKUP(B2,基础数据!$A$2:$D$5,2,0)”,我们需要手工改一下,把它改成“=VLOOKUP(A2,原表!基础数
据!$A$2:$D$5,4,0)”,即可显示正确数据。继续向右复制,同理,把后面的
E2、F2等中的公式适当修改即可。一行数据出来了,对照了一下,数据正确无误,再对整个工作表进行拖动填充,整个信息表就出来了。向下拉什复制不存在错误问题。
这样,我们就可以节省很多时间了。
两个EXCEL里数据的匹配
工作上遇到了想在两个不同的EXCEL表里面进行数据的匹配,如果有相同的数据项,则输出一个“YES”,如果发现有不同的数据项则输出“NO”,这里用到三个EXCEL的函数,觉得非常的好用,特贴出来,也是小研究一下,发现EXCEL的功能的确是挺强大的。这里用到了三个函数:VLOOKUP、ISERROR和IF,首先对这三个函数做个介绍。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
VLOOKUP:功能是在表格的首列查找指定的数据,并返回指定的数据所在行中的指定列处的数据。函数表达式是:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
1. Lookup_value为“需在数据表第一列中查找的数据”,可以是数值、文本字符串或引用。
2.Table_array 为“需要在其中查找数据的数据表”,可以使用单元格区域或区域名称等。
⑴如果 range_lookup 为 TRUE或省略,则 table_array 的第一列中的数值必须按升序排列,否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。
⑵Table_array 的第一列中的数值可以为文本、数字或逻辑值。若为文本时,不区分文本的大小写。
3. Col_index_num 为table_array 中待返回的匹配值的列序号。
Col_index_num 为 1 时,返回 table_array 第一列中的数值;Col_index_num 为 2 时,返回 table_array 第二列中的数值,以此类推;如果Col_index_num 小于 1,函数VLOOKUP 返回错误值 #VALUE!;如果Col_index_num 大于 table_array 的列数,函数VLOOKUP 返回错误值 #REF!。
4.Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ISERROR:它属于IS系列,IS系列用来检验数值或引用类型,有九个相关的函数:
ISBLANK(value) :判断值是否为空白单元格。
ISERR(value) :判断值是否为任意错误值(除去 #N/A)。
ISERROR(value) :判断值是否为任意错误值(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME
或 #NULL!)。
ISLOGICAL(value) :判断值是否为逻辑值。
ISNA(value) :判断值是否为错误值 #N/A(值不存在)。
ISNONTEXT(value) :判断值是否为不是文本的任意项(注意此函数在值为空白单元格时返回 TRUE)。
ISNUMBER(value) :判断值是否为数字。
ISREF(value) :判断值是否为引用。
ISTEXT(value) :判断值是否为文本。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~