怎样使用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要提取的是“基础数据excel vlookup函数怎么用!$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:D5”。为了防止出现问题,这里,我们加上“$”此处一定要手动加上
绝对引用防止出错,即“基础数据!$A$2:$D$5”,这样就变成绝对引用了。
第三个参数为满足条件的数据在数组区域内中的列序号,在本例中,我们新表B2要提取的是“基础数据!$A$2:$D$5”这个区域中B2数据,根据第一个参数返回第几列的值,这里我们填入2,也就是返回性别的值(当然如果性别放置在G列,我们就输入7)。
第四个参数为指定在查时是要求精确匹配还是大致匹配,如果填入0,则为精确匹配。这可含糊不得的,我们需要的是精确匹配,所以填入“0”(请注意:Excel帮助里说“为0时是大致匹配”,但很多人使用后都认为,微软在这里可能弄错了,为0时应为精确匹配),此时的情形如图4所示。
-
[确定]按钮退出,即可看到C2单元格已经出现了正确的结果。如图5
???向下拉填充柄即可。
????这样,我们就可以节省很多时间了
方法2
假设sheet1姓名在A列,身份证在Bsheet2中姓名输入在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_lookupTRUE或省略,则table_array的第一列中的数值必须按升序排列,否则,函数VLOOKUP不能返回正确的数值。如果range_lookupFALSEtable
_array不必进行排序。
??????Table_array的第一列中的数值可以为文本、数字或逻辑值。若为文本时,不区分文本的大小写。
??3.Col_index_numtable_array中待返回的匹配值的列序号。
??????Col_index_num1时,返回table_array第一列中的数值;Col_index_num2时,返回table_array第二列中的数值,以此类推;如果Col_index_num小于1,函数VLOOKUP返回错误值#VALUE!;如果Col_index_num大于table_array的列数,函数VLOOKUP返回错误值#REF!
??4.Range_lookup为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。如果为TRUE或省略,则返回近似匹配值,也就是说,如果不到精确匹配值,则返回小于lookup_value的最大数值;如果range_valueFALSE,函数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表,sheet1sheet2,现在要将sheet2的每一行数据在sheet1中查匹配,如有sheet1中存在,则在sheet2中的E列显示存在,否则显示不存在

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。