Excel把一个表中一列数据附加到另一个表里--vlookup函数应用
vlookup函数是Excel中几个最重函数之一,为了方便大家学习,兰幻想特针对vlookup函数的使用和扩展应用,进行一次全面综合的说明。本文为入门部分。
vlookup是一个查函数,给定一个查的目标,它就能从指定的查区域中查返回想要查到的值。它的基本语法为:
vlookup(查目标,查范围,返回值的列数,精确OR模糊查)
下面以一个实例来介绍一下这四个参数的使用。
例1:如下图所示,要求根据表二中的姓名,查姓名所对应的年龄。
公式:B13 =vlookup(A13,$B$3:$D$8,3,0)
参数说明:
1 查目标:就是你指定的查的内容或单元格引用。本例中表二A列的姓名就是查目标。我们要根据表二的“姓名”在表一中A列进行查。
公式:B13 =vlookup(A13,$B$3:$D$8,3,0)
2 查范围(vlookup(A13,$B$3:$D$8,3,0) ):指定了查目标,如果没有说从哪里查,EXCEL肯定会很为难。所以下一步我们就要指定从哪个范围中进行查。vlookup的这第二个参数可以从一个单元格区域中查,也可以从一个常量数组或内存数组中查。本例中要从表一中进行查,那么范围我们要怎么指定呢?这里也是极易出错的地方。大家一定要注意,给定的第二个参数查范围要符合以下条件才不会出错:
A 查目标一定要在该区域的第一列。本例中查表二的姓名,那么姓名所对应的表一的姓名列,那么表一的姓名列(列)一定要是查区域的第一列。象本例中,给定的区域要从第二列开始,即$B$3:$D$8,而不能是$A$3:$D$8。因为查的“姓名”不在$A$3:$D$8
区域的第一列。
B 该区域中一定要包含要返回值所在的列,本例中要返回的值是年龄。年龄列(表一的D列)一定要包括在这个范围内,即:$B$3:$D$8,如果写成$B$3:$C$8就是错的。
3 返回值的列数(B13 =vlookup(A13,$B$3:$D$8,3,0))。这是vlookup第3个参数。它是一个整数值。它怎么得来的呢。它是“返回值”在第二个参数给定的区域中的列数。本例中我们要返回的是“年龄”,它是第二个参数查范围$B$3:$D$8的第3列。这里一定要注意,列数不是在工作表中的列数(不是第4列),而是在查范围区域的第几列。如果本例中要是查姓名所对应的性别,第3个参数的值应该设置为多少呢。答案是2。因为性别在$B$3:$D$8的第2列中。
4 精确OR模糊查(vlookup(A13,$B$3:$D$8,3,0) ),最后一个参数是决定函数精确和模糊查的关键。精确即完全一样,模糊即包含的意思。第4个参数如果指定值是0或FALSE就表示精确查,而值为1 或TRUE时则表示模糊。这里兰提醒大家切记切记,在使用vlookup时千万不要把这个参数给漏掉了,如果缺少这个参数默为值为模糊查,我们就无法精确查到结果了。
好了,关于vlookup函数的入门级应用就说到这里,vlookup函数可不只是这么简单的查,我们讲的还只是1/10的用法。其他的没法在一篇文章中说明。敬请期待“vlookup的使用方法-进阶篇”吧。
实例:利用vlookup函数把数学成绩放到语文成绩列的后面。
如:在sheet 2表中有一个语文成绩表:
姓名 | 语文 |
高文豪 | 96 |
张益涵 | 91 |
于艺康 | 86 |
王屹磊 | 84 |
贺梓淳 | 84 |
余欣洋 | 82 |
黄梦豪 | 80 |
曹栋源 | 77 |
段孟材 | 75 |
赵文豪 | 75 |
在sheet 3中有一个数学成绩表:
姓名 | 数学 |
张益涵 | 71 |
于艺康 | 69 |
王屹磊 | 69 |
贺梓淳 | 66 |
余欣洋 | 66 |
黄梦豪 | 66 |
曹栋源 | 64 |
段孟材 | 60 |
赵文豪 | 62 |
高文豪 | 74 |
现在,我想把数学成绩加到语文成绩后一列:
姓名 | 语文 | 数学 |
高文豪 | 96 | |
张益涵 | 91 | |
于艺康 | 86 | |
王屹磊 | 84 | |
贺梓淳 | 84 | |
余欣洋 | 82 | |
黄梦豪 | 80 | |
曹栋源 | 77 | |
段孟材 | 75 | |
赵文豪 | 75 | |
仔细看看,两个表的姓名列排列并不一样,要从sheet 1的姓名列到相应的姓名后把数学分数填到数学列中,可以利用vlookup函数来完成。
在sheet 2的C2单元格中输入
=VLOOKUP(A2,Sheet3!$A$2:$B$11,2,0)
这里,Sheet3!$A$2:$B$11表示查范围是表sheet3的A2到B11单元格,加$表示绝对引用地址,引用单元格范围不因公式的移动而变化。
也可以从插入-函数-查与引用-vlookup,
在各项输入内容。
确定后,点击对号,就可到高文豪的数学成绩了。
姓名 | 语文 | 数学 |
高文豪 | 96 | 74 |
张益涵 | 91 | |
于艺康 | 86 | |
王屹磊 | 84 | vlookup模糊匹配 |
贺梓淳 | 84 | |
余欣洋 | 82 | |
黄梦豪 | 80 | |
曹栋源 | 77 | |
段孟材 | 75 | |
赵文豪 | 75 | |
再向下一拉,其他人的数学成绩就都出来了。
姓名 | 语文 | 数学 |
高文豪 | 96 | 74 |
张益涵 | 91 | 71 |
于艺康 | 86 | 69 |
王屹磊 | 84 | 69 |
贺梓淳 | 84 | 66 |
余欣洋 | 82 | 66 |
黄梦豪 | 80 | 66 |
曹栋源 | 77 | 64 |
段孟材 | 75 | 60 |
赵文豪 | 75 | 62 |
这种方法是我刚刚探索出来的。
网上有人另一个解决办法是把姓名重新排序,两个表的姓名都进行降序排列。只要检查姓名排列一致,就可以复制数学成绩了。这是个简单的方法。
看下图再理解理解吧
在表格数组的首列查指定的值,并由此返回表格数组当前行中其他列的值。
vlookup 中的 V 参数表示垂直方向。当比较值位于需要查的数据左边的一列时,可以使用 vlookup 而不是 HLOOKUP。
语法
vlookup(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value:为需要在表格数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查的数值。Lookup_value 可以为数值或引用。若 lookup_value 小于 table_array 第一列中的最小值,vlookup 返回错误值 #N/A。
Table_array 为两列或多列数据。使用对区域或区域名称的引用。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论