1、查找返回多列数据
输入公式:
=VLOOKUP($F2,$A:$D,COLUMN(B1),0),右拉填充
公式右拉返回结果在第2、3、4列
用函数COLUMN构造
COLUMN(B1)=2,公式右拉变成COLUMN(C1)、COLUMN(D1)得到3、4。
2、按指定次数重复
输入公式:
=IFERROR(VLOOKUP(ROW(A1),IF({1,0},SUMIF(OFFSET(B$2,,,ROW($1:$4)),"<>"),A$2:A$5),2,0),E2)&""
按<Ctrl+Shift+Enter>三键结束
3、结果引用合并单元格内容
A列区域为合并单元格,根据业务员查找对应的区域:
输入公式:
=VLOOKUP("座",OFFSET(A2,,,MATCH(D2,B2:B14,0)),1,1)
MATCH(D2,B2:B14,0)部分找到业务员“阿文”在区域B2:B14中的位置11
OFFSET(基点,偏移行数,偏移列数,行高,列宽)
OFFSET(A2,,,11)是以A2单元格为基点,偏移0行0列,返回行高为11的新区域A2:A12的引用。
OFFSET部分抹黑按F9键得到:
用“座”等较大的汉字查找区域中最后一个单元格内容,即返回“华北地区”。
4、有合并单元格的查找
A列产品为合并单元格,如何查找A列产品对应的单价呢?
输入公式:
=VLOOKUP(VLOOKUP("座",A$2:A2,1,1),F:G,2,0)
比如D5单元格公式=VLOOKUP(VLOOKUP("座",A$2:A5,1,1),F:G,2,0)
A$2:A5部分返回{"产品1";"产品3";0;0}
VLOOKUP("座",A$2:A5,1,1)部分用"座"查找最后一个单元格内容,即返回“产品3”
外层再套个VLOOKUP精确查找
即D5单元格公式就是=VLOOKUP("产品3",F:G,2,0),返回单价12
5、与T+IF的组合应用
输入公式:
=SUM(VLOOKUP(T(IF({1},A2:A8)),D2:E8,2,0)*B2:B8)
数组公式,按<Ctrl+Shift+Enter>三键结束
IF({1},A2:A8)部分构成三维内存数组
VLOOKUP函数第一参数不能直接为数组
函数T起降维作用,将三维引用转换为一维数组,其返回的结果仍为数组,用函数SUM求和。
6、多条件查找
与反向查找一样,可以借助IF{1,0}与IF{0,1}、CHOOSE{1,2}与CHOOSE{2,1}等结构
输入公式:
=VLOOKUP(E2&F2,IF({1,0},A2:A11&B2:B11,C2:C11),2,0)
数组公式,按<Ctrl+Shift+Enter>三键结束
7、一对多查找
输入公式:
=IFERROR(VLOOKUP($E$2&ROW(A1),IF({1,0},$A$2:$A$11&COUNTIF(INDIRECT("A2:A"&ROW($2:$11)),$E$2),B$2:B$11),2,),"")
数组公式,按<Ctrl+Shift+Enter>三键结束
效果图:
8、动态图表
【数据】→【数据验证】
输入公式:
=VLOOKUP($A9,$A$2:$G$5,COLUMN(B1),0) ,右拉填充
【插入】→【插入柱形图】操作演示: