Excel查找匹配函数的16种方法
链接:https://zhuanlan.zhihu.com/p/79795779
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1、普通查找
查找李晓峰的应发工资
=VLOOKUP(H2,B:F,5,0)
![](https://pic1.zhimg.com/v2-636b508f804b4cb69c130ee3ecca08fc_b.jpg)
2、反向查找
查找吴刚的员工编号
=INDEX(A:A,MATCH(H2,B:B,0))
![](https://pic4.zhimg.com/v2-bb7c5d871210d238636bff58984e2853_b.jpg)
3、交叉查找
查找3月办公费的金额
=VLOOKUP(H2,A:F,MATCH(I2,1:1,0),0)
![](https://pic2.zhimg.com/v2-b2c94a7be686d486970f8ae3ba4ff341_b.jpg)
4、多条件查找
查找上海产品B的销量
=LOOKUP(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7)
![](https://pic4.zhimg.com/v2-c3b5c2601ddc87350744424c8b377c93_b.jpg)
5、区间查找
根据销量从右表中查找提成比率。
=LOOKUP(A2,$D$2:$E$5)
![](https://pic2.zhimg.com/v2-d1fb46251e64c9f938bc5377b23470ad_b.jpg)
6、双区间查找
根据销量和比率完成情况,从表中查找返利。
=INDEX(B3:F7,MATCH(D11,A3:A7),MATCH(E11,B2:F2))
![](https://pic4.zhimg.com/v2-1aad7eb0c575bd5e3cf28dc19b597a07_b.jpg)
7、线型插值
如下图所示,A列是数量,B列是数量对应的系数值。现要求出数字8所对应的系数值。
=TREND(OFFSET(B1,MATCH(D3,A2:A6,1),,2,1),OFFSET(A1,MATCH(D3,A2:A6,1),,2,1),D3)
![](https://pic2.zhimg.com/v2-23c8a8458991ed0d05c5ef0e48950ef1_b.jpg)
8、查找最后一个符合条件记录
如下图所示,要求查找A产品的最后一次进价。
=LOOKUP(1,0/(B2:B9=A13),C2:C9)
![](https://pic1.zhimg.com/v2-b515d1c5eace2c695a0ff3fe86061610_b.jpg)
9、模糊查找
如下图所示,要求根据提供的城市从上表中查找该市名的第2列的值。
=VLOOKUP("*"&A7&"*",A1:B4,2,0)
![](https://pic4.zhimg.com/v2-e06fa00bfed7a10f6bcf550fbb8643b7_b.jpg)
10、匹配查找
如下图所示,要求根据地址从上表中查找所在城市的提成。
=lookup(9^9.find(A$3:A$6,A10),B$3:B$6)
![](https://pic1.zhimg.com/v2-de69825084cc49fb0234969651676324_b.jpg)
11、最后一个非空值查找
如下图所示,要求查找最后一次还款日期
=LOOKUP(1,0/(B2:B13<>""),$A2:$A13)
![](https://pic1.zhimg.com/v2-b5fcdc37432d3926a9c8525b462e5840_b.jpg)
12、多工作表查找
【例10】从各部门中查找员工的基本工资,在哪一个表中不一定。
方法1
=IFERROR(VLOOKUP(A2,服务!A:G,7,0),IFERROR(VLOOKUP(A2,人事!A:G,7,0),IFERROR(VLOOKUP(A2,综合!A:G,7,0),IFERROR(VLOOKUP(A2,财务!A:G,7,0),IFERROR(VLOOKUP(A2,销售!A:G,7,0),"无此人信息")))))
方法2:
=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({"销售";"服务";"人事";"综合";"财务"}&"!a:a"),A2),{"销售";"服务";"人事";"综合";"财务"})&"!a:g"),7,0)
![](https://pic4.zhimg.com/v2-2d5abd656ae1eb1d9ef08e39e8238e4f_b.jpg)
![](https://pic1.zhimg.com/v2-980949ada3fe8ab5a00ff25b5ce781c8_b.jpg)
13、一对多查找
【例】根据产品查找相对应的所有供应商
A2 =B2&COUNTIF(B$1:B2,B2)
B11=IFERROR(VLOOKUP($A11&COLUMN(A1),$A:$C,3,0),"")
![](https://pic4.zhimg.com/v2-fd20821059eb014dfaac0df689291feb_b.jpg)
14、查找销量最大的城市
查找销量最大的城市(数组公式按ctrl+shift+enter三键输入)
{=INDEX(A:A,MAX((MAX(B3:B7)=B3:B7)*ROW(B3:B7)))}
![](https://pic1.zhimg.com/v2-171925387a111bb87591624a41ad0298_b.jpg)
15、最接近值查找
根据D4的价格,在B列查找最接近的价格,并返回相对应的日期
(数组公式按ctrl+shift+enter三键输入)
{=LOOKUP(1,0/(MIN(ABS(B3:B7-D4))=ABS(B3:B7-D4))*ROW(B3:B7),A3:A7)}
![](https://pic1.zhimg.com/v2-97806c5f8c8431db103e6f080980bfc8_b.jpg)
15、跨多文件查找
跨多个文件查找,估计你搜遍网络也找不到,这也是小编首次编写跨多文件查找公式。其实原理和跨多表查找一样,也是借助lookup等函数实现。
文件夹中有N个仓库产品表格,需要在“查询”文件完成查询
![](https://pic1.zhimg.com/v2-c2fd159335842b1295a9dfb49672f084_b.jpg)
仓库表样式
![](https://pic1.zhimg.com/v2-35bff0ab0e2510e066f1fe796e0433b0_b.jpg)
在查询表中设置公式,根据产品名称从指定的文件中sheet1工作表查询入库单价
=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT("["&{"仓库1";"仓库2";"仓库3"}&".xlsx]sheet1!a:a"),A2),"["&{"仓库1";"仓库2";"仓库3"}&".xlsx]sheet1")&"!a:b"),2,0)。
![](https://pic2.zhimg.com/v2-0095f528b10d4c9fb927b27677553b4d_b.jpg)
vlookup函数的多文件查找,同样可以用iferror+vlookup的模式,公式虽然长,但容易理解且公式不容易出错。另外,如果excel文件有几十个或更多,就需要使用宏表函数用Files获取所有excel文件名称,然后应用到公式中,具体的公式小编就不再写了。