Excel表格vlookup函数精确查找(Excel怎么利用vlookup精确查找)

原创作者: 卢子 转自:Excel不加班

昨天分享了全年12个工作表汇总,今天分享全年12个工作表查找。同样,卢子按两种形式进行说明。

1.工作表的格式一样,销售金额都在B列,现在要查询每个商品的销售金额。

稍微有点基础的,采用VLOOKUP函数这种用法。

=VLOOKUP(A2,'1月'!A:B,2,0)

2月、3月……12月,依次更改VLOOKUP函数的第二参数。

=VLOOKUP(A2,'2月'!A:B,2,0)

=VLOOKUP(A2,'3月'!A:B,2,0)

……

=VLOOKUP(A2,'12月'!A:B,2,0)

这种虽然可以解决问题,但是需要修改10多次,很容易改错。

而卢子却采用了另外的方法,每个工作表名称都列出来了,其实可以借助INDIRECT函数的间接引用。

=VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0)

空调在某些月份没有对应值,显示错误值#N/A,可以嵌套函数IFERROR,让错误值显示0。

=IFERROR(VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0),0)

2.工作表的格式不同,销售金额的列数不确定,现在要查询每个商品的销售金额。

1月的销售金额在C列。

2月的销售金额在D列。

其他就不依次截图,反正就是列数不确定。

有不少读者做表就非常随意,这个月觉得好像记录得不全面就增加几列,下个月觉得好像没必要记录这些又删除一些列,最后表格一团糟。

这样的表格还有救吗?

还好,有MATCH函数可以自动识别出销售金额在第几列。

=MATCH("销售金额",$1:$1,0)

将MATCH函数作为VLOOKUP函数的第三参数,原来的区域再修改大点即可解决问题。

=IFERROR(VLOOKUP($A2,INDIRECT(B$1&"!A:Z"),MATCH("销售金额",INDIRECT(B$1&"!1:1"),0),0),0)

如果一时半会理解不了公式,建议收藏起来,这个公式经常会用到。

(0)

相关推荐