封面1.jpg

0721多范围匹配.xlsx

0721多范围匹配.xlsx

匹配目标为数字

对于这种查找范围不固定,没办法一次性通过Vlookup函数匹配到想要的结果,因为首先得确认所查内容在哪个区域才可以去匹配。

Snipaste_2021-09-09_18-17-27.png

而Switch函数,则可以实现多条件对应多范围,正好可以一一判断所查找的值是否在每个范围内。

=SWITCH(B10,A3:J3,A4:J4,A5:J5,A6:J6,A7:F7,A8:F8)

查找B10,不在第一个条件范围A3:J3,跳过不返回对应的A4:J4结果;也不在第二个范围A5:J5,也跳过对应的A6:J6结果,由此可以过滤掉这两个不包含该值的范围和结果;

最后在第三个条件范围A7:F7中找到B10,于是返回结果A8:F8,为一串数组。如下所示:

#N/A 182 #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A

那么接下来的任务就是在这一串数组中,找到正确的那个值,由于是数组,且除了正确的值之外其他的都是
#N/A错误,于是可以利用Lookup函数(支持数组运算)查找最后一个数字,并会过滤掉错误值的方法,嵌套公式即可,最终得:

=LOOKUP(999^10,SWITCH(B10,A3:J3,A4:J4,A5:J5,A6:J6,A7:F7,A8:F8))

匹配目标为字符/文本等

Snipaste_2021-09-09_18-21-34.png

前半段利用Switch函数的步骤思路一模一样,仅仅只是在最后,获取到的数组是如下这样的:

#N/A V #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A

由于是字符串数组,Lookup查找最后一个非空字符的公式略有差别,将查找的参数【999^10】改为【”座”】即可。最终得:

=LOOKUP(“座”,SWITCH(B10,A3:J3,A4:J4,A5:J5,A6:J6,A7:F7,A8:F8))