怎样使用vlookup函数实现不同excel表格之间的数据关联.docx_第1页
怎样使用vlookup函数实现不同excel表格之间的数据关联.docx_第2页
怎样使用vlookup函数实现不同excel表格之间的数据关联.docx_第3页
怎样使用vlookup函数实现不同excel表格之间的数据关联.docx_第4页
怎样使用vlookup函数实现不同excel表格之间的数据关联.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

怎样使用vlookup函数实现不同excel表格之间的数据关联在工作中遇到一些统计表格的事情,其实就是很简单的统计,粘贴、复制,但是不断的重复简单的粘贴、复制就是一项非常费时的巨大工程,为了简化操作流程,提高工作效率,特地在网上搜了些相关的资料来联系,个人也得到一些小的体会,今天有兴致和大家分享一下,好好学习哟,有什么问题大家可以交流交流哈。下面我们通过一个小小的例子来说明如何用vllkup简化我们的工作。分两种情况:1同一个sheet中有两个表格,一个是旧表(原始数据),一个是新表(做好后能得到我们所需要的数据);2sheet1中一个表(原始数据),sheet2中一个表(新表),也是两个表,这两种情况都差不多,都是以原表为基础,得到新表我们看第一种情况,同一个sheet中有两个表,原表为:新表为:这里原表为已知,新表中有数据的部分为,空格的地方都是我们需要填写的,其实一对比这两个表,我们很容易发现新表要填的内容就是原表中能找到的,但是行的顺序变了,如果表格很大,我们反复使用粘贴复制来完成新表中的空缺,眼睛都会找花,会很累,但是,现在我们用vlookup,就easy多了。循序渐进学Excel2003成为高手的捷径数据录入与处理.选择“新表”中的B2单元格,如表1所示。单击fx按钮,出现“插入函数”对话框。在类别中选择“全部”,然后找到VLOOKUP函数,单击确定按钮,出现“函数参数”对话框,如表2所示。表1表2第一个参数“lookup_value”为两个表格共有的信息,也就是供excel查询匹配的依据,也就是“新表”中的A2单元格。这里我们可以填入$A2,加一个$,是为了说明列不变,是绝对的,而当你向下拖动的时候,列会相应的改变。这样会简化我们得工作,注意一定要选择新表内的信息,因为要获得的是按照新表的排列顺序排序。第二个参数“table_array”为需要搜索和提取数据的数据区域,这里也就是整个“基础数据”的数据,即“基础数据!A2:D5”。为了防止出现问题,这里,我们加上“$”,即“基础数据!$A$2:$D$5”,这样就变成绝对引用了。第三个参数为满足条件的数据在数组区域内中的列序号,在本例中,我们新表B2要提取的是“基础数据!$A$2:$D$5”这个区域中B2数据,根据第一个参数返回第几列的值,这里我们填入“2”,也就是返回性别的值(当然如果性别放置在G列,我们就输入7)。(我的理解是,新表中性别这一列要返回原表中性别所在的列,也就是性别在原表中是第几列就填几,一般我们为了提高效率,在拖动后,只需要改这个返回几列的数字,其他都不用改,方便快捷啊)第四个参数为指定在查找时是要求精确匹配还是大致匹配,如果填入“0”,则为精确匹配。这可含糊不得的,我们需要的是精确匹配,所以填入“0”(请注意:Excel帮助里说“为0时是大致匹配”,但很多人使用后都认为,微软在这里可能弄错了,为0时应为精确匹配),此时的情形如图4所示。这里填1,软件会提示是true,填0会提示为false,但是根据经验我们填0,提示为false,但是是正确的,可能是软件编程的时候出了问题,毕竟是盗版的,理解哈。(注明一下,不要按照表格中的填写,按照文字所述才是快捷之道,上表中,A2应改为$A2A2:D5应改为$A$2:$D$5最后一行固定为0,我们所要改动的只有第三行,col_index_num。按确定按钮退出,即可看到C2单元格已经出现了正确的结果。如图5:把B2单元格向右拖动复制到D2单元格,我们需要手工改一下,只需要改之前我说的第三行,即可显示正确数据。一行数据出来了,对照了一下,数据正确无误,再对整个工作表的列进行拖动填充,拖动完之后,新表就出来了。(向下拉什复制不存在错误问题的,这里不用担心,只需要保证我们所拖动复制的行不出问题就没事了)。这样,我们就可以节省很多时间了。在最后我还得说一点就是,这里我们举的例子,原表第一列是姓名,第二例是性别,第三列是年龄,第四列是籍贯,而新表也是这样的,那假如原表的列还是不变,第一列是姓名,第二列是性别,第三列是年龄,第四列是籍贯,而新表的列发生变化了怎么办?情况会是怎样呢?根据我个人的经验,只要原表的第一列是姓名,新表的第一列也是姓名(姓名不可雷同,就是同一个表中不能有两个一样的姓名),不管新表其他列怎么变(这里说的是列的顺序,与原表比较而言哈),都按照上面的方法来处理。但是如果新表第一列跟原表不一致,(原表第一列为姓名,新表第一列不是姓名,而是其他的,比如年龄,那么你就需要手动把新表中姓名这一列移到第一列来,再按照上面同样的办法处理,否则,就会出错哟。(个人经验哈,不足之处还请指出)。第一个参数“lookup_value”为两个表格共有的信息,也就是供excel查询匹配的依据,也就是“新表”中的A2单元格。注意一定要选择新表内的信息,因为要获得的是按照新表的排列顺序排序。第二个参数“table_array”为需要搜索和提取数据的数据区域,这里也就是整个“基础数据”的数据,即“基础数据!A2:D 5”。为了防止出现问题,这里,我们加上“$”此处一定要手动加上绝对引用防止出错,即“基础数据!$A$2:$D$5”,这样就变成绝对引用了。第三个参数为满足条件的数据在数组区域内中的列序号,在本例中,我们新表B2要提取的是“基础数据!$A$2:$D$5”这个区域中B2数据,根据第一个参数返回第几列的值,这里我们填入“2”,也就是返回性别的值(当然如果性别放置在G列,我们就输入7)。第四个参数为指定在查找时是要求精确匹配还是大致匹配,如果填入“0”,则为精确匹配。这可含糊不得的,我们需要的是精确匹配,所以填入“0”(请注意:Excel帮助里说“为0时是大致匹配”,但很多人使用后都认为,微软在这里可能弄错了,为0时应为精确匹配),此时的情形如图4所示。/showpic.html - blogid=4a7e19be0100bitj&url=/orignal/4a7e19bet5eb3aecf6b7d按确定按钮退出,即可看到C2单元格已经出现了正确的结果。如图5:向下拉填充柄即可。这样,我们就可以节省很多时间了方法2假设sheet1姓名在A列,身份证在B列sheet2中姓名输入在A列,在B2输入公式=IF(ISNA(VLOOKUP(A2,sheet1!A:B,2,),VLOOKUP(A2,sheet1!A:B,2,)回车确定,鼠标对准单元格右下角,当出现一个黑色小十字时,同时按住鼠标左键往下拖动填充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) :判断值是否为文本。IF:执行逻辑判断,它可以根据逻辑表达式的真假,返回不同的结果,从而执行数值或公式的条件检测任务。函数表达式为:IF(logical_test,value_if_true,value_if_false),其中含义如下所示: logical_test:要检查的条件。 value_if_true:条件为真时返回的值。 value_if_false:条件为假时返回的值。 下面介绍下通过上述的三个函数如何达到我想要的要求的,下图是工作中的两个EXCEL表,sheet1和sheet2,现在要将sheet2的每一行数据在sheet1中查找匹配,如有sheet1中存在,则在sheet2中的E列显示“存在”,否则显示“不存在”。首先使用了VLOOKUP函数将sheet1中的数据在sheet2中进行查找,=VLOOKUP(A2,sheet1!$A$2C$952,1,FALSE),其中A2表示用来匹配项的数据,将A2在sheet1的所有列中查找就是使用第二个条件:sheet1!$A$2:$C$952,“$”表示绝对引用,复制的时候不会随着单元格位置变化而变化,1表示匹配成功后返回第一列的数据,否则返回#N/A,FALSE表示返回精确匹配值。注:绝对引用和相对引用只要在公式栏里面对应的数据下按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中找到时输出“存在”,找不到时输出“不存在”。总结:VLOOKUP的函数比较好用,可以寻找并且匹配,但是要注意只能是匹配项在首列,如果不是则要用HLOOKUP函数。EXCEL的函数功能还是挺强大的,好好研究对于我们数据统计和处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论