VBA使用数组和字典算法就可以实现了
vlookup是工作中excel中最常用的查找函数。但遇到反向、双向等复杂的表格查找,还是要请出今天的主角:index+Match函数组合。
1、反向查找
【例1】如下图所示,要求根据产品名称,查找编号。
分析:
先利用Match函数根据产品名称在C列查找位置
=MATCH(B13,C5:C10,0)
再用Index函数根据查找到的位置从B列取值。完整的公式即为:
=INDEX(B5:B10,MATCH(B13,C5:C10,0))
2、双向查找
【例2】如下图所示,要求根据月份和费用项目,查找金额
分析:
先用MATCH函数查找3月在第一行中的位置
=MATCH(B10,$A$2:$A$6,0)
再用MATCH函数查找费用项目在A列的位置
= MATCH(A10,$B$1:$G$1,0)
最后用INDEX根据行数和列数提取数值
INDEX(区域,行数,列数)
=INDEX(B2:G6,MATCH(B10,$A$2:$A$6,0),MATCH(A10,$B$1:$G$1,0))
3、多条件查找
【例3】如下图所示,要求根据入库时间和产品名称,查找入库单价。
分析:
由于match的第二个参数可以支持合并后的数组所以可以直接进行合并查找:
=MATCH(C32&C33,B25:B30&C25:C30,0)
查找到后再用INDEX取值
=INDEX(D25:D30,MATCH(C32&C33,B25:B30&C25:C30,0))
由于公式中含有数组运算(一组数同另一组数同时运算),所以公式需要按ctrl+shift+enter三键完成输入
excel vlookup反向多条件查找 用App查看
EXCEL表格中如何使用VLOOKUP函数进行反向查找和多条件查找 用App查看
EXCEl多条件引用查询及反向引用查询
EXCEL中多条件查找的15种方法
excel 多条件查找和多条件计数
excel多条件查找15种思路
电子表格多条件查找
EXCEL 多条件混合查找
Excel多条件查找的多种思路
EXCEL中多条件查找并引用数据的方法
查看
利用插入辅助列,通过VLOOKUP函数实现多条件查询匹配数据。
依据10个产品为例:
1、在A25单元格输入公式:
=OFFSET($A$1,10*INT(ROW(A1)-1)/10)+MOD(ROW(A1)-1,10)+1,COLUMN(A$1))
复制并下拉、右拉至D100
2、在E25单元格输入公式:
=OFFSET($A$1,0,COLUMN(E$1))
复制并下拉至E100
3、在F25单元格输入公式:
=OFFSET($A$1,10*INT(ROW(A1)-1)/10)+MOD(ROW(A1)-1,10)+1,COLUMN(E$1))
复制并下拉至F100
即可得到1-10行转换后的数据区域了