VLOOKUP作用是在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。
用法:VLOOKUP(查找值,数据表,列序数,匹配条件)
一、基础用法
公式:
=VLOOKUP(F4,A2:D7,2,0)
解析:
表示在数据区域A2:D7第一列查找F4(W-003),并返回“W-003”所在行中第2列处的数值,结果返回“C”。
二、查找多行
公式:
=VLOOKUP(F4:F6,A2:D7,2,0)
解析:
表示在数据区域A2:D7第一列查找F4:F6({"W-003";"W-005";"W-006"}),并返回所在行中第2列处的数值,结果返回{"C";"E";"F"}。
三、查找多列
公式:
=VLOOKUP(F4,A2:D7,{2,3},0)
解析:
表示在数据区域A2:D7第一列查找F4(W-003),并返回“W-003”所在行中第{2,3}列处的数值,结果返回{"C","销售部"}。
四、逆向查找
=VLOOKUP(F4,IF({1,0},B2:B7,A2:A7),2,0)
=VLOOKUP(F4,IF({1,0},B2:B7,A2:A7),2,0)
=VLOOKUP(F4,CHOOSECOLS(A2:D7,2,1),2,0)
解析:
表示在数据区域A2:D7第一列查找F4(姓名C),并返回“姓名C”所在行中第2列处的数值,结果返回“W-003”,从而实现根据第2列姓名查找到第1列工号的效果。
本质上仍然是在数据区域的首列查找,返回对应第2列的值,提供的三个公式第二参数均为将A2:D7第1列和第2列位置交换,构造新的数据区域作为VLOOKUP的查找数据表。
五、动态查找
=VLOOKUP(F4,A2:D7,XMATCH(G3,A1:D1),0)
解析:
XMATCH(G3,A1:D1)定位“G3部门”在A1:D1所在的位置3,作为VLOOKUP的查找列参数,当改变G3为A1:D1中任意一个值时,均可自动返回对应的结果,从而实现动态查找的目的。
六、隔列查找
公式:
=VLOOKUP(H4,A2:F7,SEQUENCE(,3,2,2),0)
SEQUENCE(,3,2,2)得到{2,4,6}序列,作为VLOOKUP的第三参数,从而实现隔列查找。
- 模糊查找
公式:
=VLOOKUP("*"&H4&"*",A2:F7,2,0)
"*"&H4&"*"作为查找对象,表示在首列查找包含“H”的字符串,返回所在行对应第2列的值。
- 多行多列查找
公式:
=REDUCE(,VLOOKUP(F4:F6,A2:D7,{2,4},0),VSTACK)
解析:
VLOOKUP虽然支持查找多行多列,但是只能得到一列的结果,如下图所示:
借助REDUCE(,......,VSTACK)套路,可将所得结果垂直堆砌起来。