今天帮老师做事的时候遇到一个Execel的问题,因为自己平时认为Execel不就是表格的输入、输出嘛,从来没有重视过,所以真心把我难住了,如果我用死办法一个一个找,然后复制的话,肯定累死了,但直觉告诉我应该有简单的方法。于是上网搜索了一下,果然找到了——那就是用vlookup函数,使用该函数后,几分钟就搞定了。先来说说我的问题,其实这个问题也蛮简单的,估计很常见啊,就是有两个Execel表格,如下图所示:
表一
表二
我的问题就是如何将表二中符合表一中姓名的电话号码复制到表一中。也就是按照条件来查找正确的数据,将二个表格合成一个表格。可能表述有点混乱啊,大概就是这个意思,你们应该懂的!大家可能会说这个直接复制黏贴不就行了嘛,关键是我这来只是复制了一部分数据,如果这个数据很多很大的话,而且两个表之间的顺序不一样的话,那你的工作量就大了。
“Lookup”的汉语意思是“查找”,在Excel中与“Lookup”相关的函数有三个:VLOOKUP、HLOOKUO和LOOKUP。下面介绍VLOOKUP函数的用法。
一、功能
在表格的首列查找指定的数据,并返回指定的数据所在行中的指定列处的数据。
二、语法
标准格式:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
三、语法解释
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)可以写为:
VLOOKUP(需在第一列中查找的数据,需要在其中查找数据的数据表,需返回某列值的列号,逻辑值True或False)
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。
总结起来就是VLOOKUP(a,b,c,d)
a、就是要查找的数值,这里就是指表一中姓名一列,或者是数值张三。
b、就是查找范围,这里指表二中姓名和电话两列。
c、就是找到以后返回该数据所在行的第几列,这里指两列中要输出的数据,应该是第二列的电话,数值就是2
d、默认或true需要范围第一列已经顺序排好,若没排好则需要用false,不然要出错。
具体操作是在Execel中,点击函数,出现如图一,
图一
查找到VLOOKUP函数,点击确定,出现图二,
图二
然后,按照要求将四个参数填上,点击确定,即可,然后下拉填充整个一列,最后得出最后的结果,如图三所示。
图三
如果没有看懂上面所说的,可以看这个视频,补充学习视频:http://v.youku.com/v_show/id_XMjg2NzM2MTYw.html