EXCEL表格中如何使用VLOOKUP函数进行反向查找和多条件查找
大家都知道VLOOKUP函数在普通的用法中只能在数据表中从左向右查找引用,并且是单条件的查找引用。下面举例说明用这个函数进行反向查找和多条件查找。
1、反向查找引用:有两个表Sheet1和Sheet2,Sheet1有100行数据,A列是学生学号,B列是姓名,Sheet2 表的A列是已知姓名,B列是学号,现在用该函数在Sheet1表中查找姓名,并返回对应的学号。
Sheet2表的B2的公式就可以这样输入:({}表示数组公式,要以CTRL+SHIFT+ENTER结束输入)
{ =VLOOKUP(A2,IF({1,0},Sheet1!$B$2:$B$100,Sheet1!$A$2:$A$100),2,FALSE) }      该公式通过IF函数改变了列顺序,利用常量数组{1,0}重新构建了一个新的二维内存数组,再提供给VLOOKUP作为查找范围使用。
上述公式也可改用 =INDEX(Sheet1!$A$2:$A$100,MATCH(A2,Sheet1!$B$2:$B$100,0))   2、多条件查找引用:有两个表Sheet1和Sheet2,Sheet1有100行数据,A列是商品名称,B列是规格型号,C列是价格,Sheet2 表的A列是已知的商品名称,B列是已知的规格型号,现在用该函数在Sheet1表中查找商品名称、规格型号都相同的行所对应的价格填入Sheet2表的C列。
Sheet2表的C2的公式就可以这样输入:({}表示数组公式,要以CTRL+SHIFT+ENTER结束输入)
{ =VLOOKUP(A2&\"|\"&B2,IF({1,0},Sheet1!$A$2:$A$100&\"|\"&Sheet1!$B$2:$B$100,Sheet1!$C$2:$C$100),2,FALSE) }
用&将A2的名称和B2的规格合并成一个值来查找。这里增加\"|\"是为了避免因两个条件直接组合而出现本不相同的雷同,如名称“ABC”和型号“MN8”的组合,与名称“AB”和型号“CMN8”的组合相同。    上述公式也可改用
{ =INDEX(Sheet1!$C$2:$C$100,MATCH(A2&\"|\"&B2,Sheet1!$A$2:$A$100&\"|\"&Sheet1!$B$2:$B$100,0)) }
参考文章 EXCEL中如何使用VLOOKUP函数查找引用其他工作表数据和自动填充数据