使用Excel的VLOOKUP函数合并不同Sheet页中的相同项
前言
最近朋友(非程序员)找我帮忙处理一份excel,需求是:将B表格中的某一列的值合并到A表格中指定的列(A表格包含B表格中的数据),同时保证A表格的数据顺序不可变。
数据大约有700多条,如果按照一般普通人的做法就是按个手动匹配、填充,这样算下来,差不多一晚上不用下班也搞不定了。
既然朋友找到咱程序员了,当然要帮忙解决。
主要涉及的就是一个函数:VLOOKUP
合并
源文件数据格式
A表格
B表格
新建临时文件
新建一个临时文件result.xlsx,同时创建两个Sheet,如下图
Sheet1中的商品编码对应A表格中的商品编码,盘点数量对应A表格中的盘点数量(复制整列到临时文件)
Sheet2中的商品编码对应B表格中的商品编码,总库存对应目标表格中的总库存(复制整列到临时文件)
使用VLOOKUP函数合并值
点击Sheet1中的B2单元格。输入公式:=IFERROR(VLOOKUP(A2,Sheet2!A:B,2,0),0)
点击确定后即可将Sheet2中20000109
对应的总库存合并到Sheet1中,然后在Sheet1中鼠标定位到B2单元格右下角,鼠标显示“+”号后按住向下拖动到最后一列
复制临时文件中的结果到A表格
选中并复制Sheet1中的盘点数量列
在A表格中右键盘点数量列的列头H,选择粘贴值(默认是粘贴值和公式的,这儿切记选择只粘贴值!!!)
数据列合并完成
知识点解释
IFERROR 函数(两个参数):
2007以上版本,可以使用IFERROR函数来容错。
输入=IFERROR(原公式,0)
2003以下版本,可以使用IF(ISERROR)函数来容错。
输入=IF(ISERROR(原公式),0,原公式)
当原公式错误时,显示为0
VLOOKUP 函数(四个参数):
第一个是要检索的数值,此处是根据商品编码检索,所以是A2;
第二个参数是检索的区域范围,因为在第二个Sheet页中检索,而第二个Sheet页名字是Sheet2,检索的是AB两列,所以第二个参数是“Sheet2!A:B”
第三个参数是返回第几列(注意:是在查找区域范围中的第几列),B列返回的是盘点数量,盘点数量是第二列,所以公式中第三个参数是2.
第四个参数是是否启用模糊查询,1:模糊查询,0:精确查询。
可能碰到的问题
使用VLOOKUP
函数时,可能会遇到下面两个问题:
1、#REF 一般是返回了错误的列,如果公式改为=
VLOOKUP(A2,Sheet2!A:B,3,0) ,那么查找区域是两列,结果要求返回第三列,就会报#REF
的错误。
2、#N/A 如果要检索的列(Sheet1中的商品编码)在查找的区域中(Sheet2)没有检索到,就会抱这个错误,如上面提到的,使用IFERROR
函数强制转0。
- 本文标签: 其他
- 本文链接: https://zhyd.me/article/82
- 版权声明: 本文由张亚东原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权