当前位置:文档之家› 何何提取两个EXCEL表格中的共有信息(两个表格数据匹配)

何何提取两个EXCEL表格中的共有信息(两个表格数据匹配)

使用vlookupn 函数实现不同excel 表格之间的数据关联如果有两个以上的表格, 或者一个表格内两个以上的sheet 页面,拥有共同的数据——我们称它为基础数据表,其他的几个表格或者页面需要共享这个基础数据表内的部分数据, 或者我们想实现当修改一个表格其他表格内共有的数据可以跟随更新的功能,均可以通过 vlookup 实现。

例如,基础数据表为“姓名,性别,年龄,籍贯”,而新表为“姓名,班级,成绩”, 这两个表格的姓名顺序是不同的,我们想要讲两个表格匹配到一个表格内,或者我们想将基础数据表内的信息添加到新表格中, 而当我们修改基础数据的同时, 新表格数据也随之更新。

这样我们免去了一个一个查找,复制,粘贴的麻烦,也同时免去了修改多个表格的麻烦。

简单介绍下vlookup 函数的使用。

以同一表格中不同sheet 页面为例:两个sheet 页面,第一个命名为“基础数据”第二个命名为“新表”。

如图1:图1选择“新表”中的B2单元格,如图2所示。

单击[枚]按钮,出现“插入函数”对话框。

在类别中选择“全部”,然后找到VLOOKU 函数,单击[确定]按钮,出现“函数参数”对话 框,如图3所示。

图2A BCDEF姓名 严W I,年龄籍贯班级成绩李四|1 88 张三2 70 赵六4 94 王五160图3男女男男A B I C十宀霹铲T" ■ ZZ 可5前计庫年甲二总芫读函畫贖帝就汎第一个参数“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所示。

D I EF1. G !齬赏 班级名四三六書一姓李张赵王函铀李飯* X =VLOOKUP (A2J M«6U®*A2:D5p 2, oT AB C , D 「 E FG姓容 李四 •张三 赵六 五按[确定]按钮退出,即可看到 C2单元格已经出现了正确的结果。

如图 5:B2- t 7 = VLOOKUP (AZ 基础数据! A2: D5, NAB 1 cPE F1 姓名 11年龄 籍贯班级 成绩2 李四|188 3 张三 270 4 赵六4 94 5-F 卄160把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_ in dex_ nu m,ra nge_lookup )1. Lookup_value 为需在数据表第一列中查找的数据”,可以是数值、文本字符串或引用。

2. Table_array 为需要在其中查找数据的数据表”,可以使用单元格区域或区域名称等。

鬲叛寺数VUH J KUF打車四* *僅三・「jr 」5J2FALSE⑴ 如果range_lookup 为TRUE或省略,则table_array 的第一列中的数值必须按升序排列,否则,函数VLOOKUP 不能返回正确的数值。

如果ran ge_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_i ndex_ num 小于1,函数VLOOKUP 返回错误值#VALUE!;如果Col_index_num 大于table_array 的列数,函数VLOOKUP 返回错误值#REF!。

4. Ra nge_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):判断值是否为文本。

IF :执行逻辑判断,它可以根据逻辑表达式的真假,返回不同的结果,从而执行数值或公式的条件检测任务。

下所示:函数表达式为:IF(logical_test,value_if_true,value_if_false) ,其中含义如logical_test :要检查的条件。

value_if_true :条件为真时返回的值。

value_if_false :条件为假时返回的值。

F面介绍下通过上述的三个函数如何达到我想要的要求的,表,sheet1和sheet2,现在要将sheet2的每一行数据在sheet1中查找匹配,如有sheet1 中存在,则在sheet2中的E列显示存在”否则显示不存在”F图是工作中的两个EXCELsheetl注:绝对引用和相对引用只要在公式栏里面对应的数据下按 F4功能键即可切换当有返回结果后刚开始直接使用 IF 去判断了,公式是:=IF(VLOOKUP(A2,sheet1!$A$2:$C$952,1,FALSE)=A2," 存在","不存在"),这个时候发现当 匹配成功的时候输出了 存在”当匹配不成功是却输出了 “#N/A ; —直没法实现想要的结果,后来发现VLOOKUP 只能输出指定的值或者 “#N/A ;而与A2判断的结果也为 “#N/A ;作为 IF 函数是无法识别 “#N/A,”这样导致不会输出 不存在”所以要想办法将IF 的第一个条件的结果是“ Ture ” or "False"于是就找到了函数 ISERROR (Value ),这个输出的结果是 “ Ture ” or "False"于是公式就变成了=IF(ISERROR(VLOOKUP(A2,sheet1!$A$2:$C$952,1,FALSE)),"不存在",”存在"),大功告成,输出自己想要的结果,当在 shhet2中的项目能在sheet1中找到时输出 存在”找不到 时输出不存在”.gg. 〒 & 弍卩fISERFOR (応fl 疋UF (血. sheet 匕$堆崔兀昶與;1:了叵五丄匸!不存在”,”存三":'总结:VLOOKUP 的函数比较好用,可以寻找并且匹配,但是要注意只能是匹配项在E61物料代码 2_ 1.01.01.0001 3~ 1.01.01.0002 4 1.01.01.000 ■ 5 1.01.01.000-物料名糕规格型号OCLOGO^RoHS 0.33Q..0603<RoHS 1Q,060^P R O HS 1 .8Q,0603AR O HS sheet2旦旦旦旦电电电电仓库名称 贴片仓 贴片仓 贴片仓 贴片仓A1扇銅代码2 1 01.Q1.0Q013 1.01.01.000214 1.01.01.00035 1.01.01.0001 S 1 01 01 0002 7 1.01.01.0007 号 1.01.Q1.DDOB 9 1 01.01.DC09 10 1 01.01.0010■4 T规格型号oQ.oeai/RoHS 0.33Q,06Q3/RoHS 10,0603 *.RoHS l.80,0603ARoHS 5.1OJ603AR C HSleQ^OEOS.^RoHS16Q±1%,O6O3*H 口 HS 18.2Q H ±1^0603AR D HS首先使用了 VLOOKUP 函数将sheetl =VLOOKUP(A2,sheet1!$A$2:$C$952,1,FALSE) 在sheet1的所有列中查找就是使用第二个条件: 复制的时候不会随着单元格位置变化而变化, 回#N/A ,FALSE 表示返回精确匹配值。

相关主题