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

而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))
匹配目标为字符/文本等

前半段利用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))
