Excel进阶:Vlookup()函数,将根据某字段多张表合并为一张表

1.使用场景

当你有两张或者多张表的时候,有相同的字段比如学号,也有不同的字段,比如a表有年龄,b表有出生日期,你需要将这些字段融合的时候,并且表中的数据非常多,就可以用到这个函数,很快。

a表
学号姓名
201901王二
201902张三
201903李四
b表
学号年龄
20190122
20190221
20190323

2.函数参数

在这里插入图片描述
Lookup_value: 查找值。根据什么查找,查找值必须位于数据表的第一列;例如上面的例子就是根据学号字段 来查找,所以应该选择学号那一列对应的单元格。

Table_array: 数据表。查找的区域,如果查找到多个值,只返回查找到的第一个所对应的数据;例如上面的例子要查找的区域就是整个b表,并且要求第一列必须为学号这一列,因为我们是根据学号来查找的。

Col_index_num: 列序数。返回数据表中第几列的数据(查找结果所对应的);就是我们需要数据表中的第几列。例如上面的例子我们要的显然是第2列年龄。

Range_lookup: 匹配条件。可选,0表示精确查找;1或省略表示模糊查找。

3.具体用法

首先是两张原表
在这里插入图片描述
在这里插入图片描述
先在第一张表中新建一个字段年龄
在这里插入图片描述
插入Vlookup()函数,选择要查找的值,我们根据学号来查找
在这里插入图片描述
选择数据表,在第二张表
在这里插入图片描述
我们要的是年龄字段,它在第二列,所以第三个参数填2,我们使用精确查找,所以第四个参数填0
在这里插入图片描述
最后按确定就可以得出结果,然后我们拖动就可以快速得到这一列的数据。
在这里插入图片描述

3.注意事项

1、a表的学号字段类型要和b表的一致,否则有时候会报错。
2、完成后不能把b表删除,否则会报错。要想把b表删除需要先保存查找的数据为文本再删除。
3、适用于b表掺杂有其他我们不需要的数据时。这个时候不能用排序来直接复制粘贴。例如我们只需要统计党员信息,这个时候排序就不适用了。

Excel中,VBA是一种编程语言,可以用来自动化执行一系列操作。如果要通过VBA来调用VLOOKUP函数实现动态查询,我们可以按照以下步骤进行操作: 1. 打开VBA编辑器:在Excel中按下Alt+F11键,即可打开VBA编辑器窗口。 2. 在VBA编辑器中插入新的模块:在"插入"菜单中选择"模块",即可在项目资源管理器中创建一个新的模块。 3. 编写VBA代码:在新的模块中输入以下代码,用于调用VLOOKUP函数实现动态查询。 ```vba Function VLOOKUP_Dynamic(LookupValue As Range, LookupRange As Range, ColumnIndex As Integer) As Variant Dim Result As Variant Result = Application.WorksheetFunction.VLookup(LookupValue, LookupRange, ColumnIndex, False) VLOOKUP_Dynamic = Result End Function ``` 4. 保存并关闭VBA编辑器:保存VBA代码,然后关闭VBA编辑器窗口回到Excel工作。 5. 在单元格中调用VBA函数:在Excel工作中选择一个单元格,在函数栏中输入"=VLOOKUP_Dynamic(要查找的值, 查找范围, 返回列索引)",并按下回车键。其中,"要查找的值"是要动态查询的值,"查找范围"是要进行查询的范围,"返回列索引"是要返回的列号或列索引。 通过以上步骤,我们可以通过VBA调用VLOOKUP函数实现动态查询。每当单元格中的值发生变化时,VLOOKUP_Dynamic函数将会重新计算并返回相应的查询结果。这种方法可以节省时间和手动操作的复杂性,提高查询的效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值