今天我们来做一期网友答疑,问题如下
看到题目很多人想到了,VLOOKUP支持通配符,可以模糊查找!但是仔细一看好像反了,我们要通过多的去匹配关键词对应的数据!
这里我们使用FIND + LOOKUP 组合来处理!
简单公式▼:
=INDEX($B:$D,MATCH(1,0/FIND($C$3:$C$6,$F3))+2,MATCH(G$2,$B$2:$D$2,))
以上公式虽然简短,但是涉及到的知识比较多!
重要还是要告诉大家处理思路,所以下面才是我们今天的主题,搞懂公式!
我们想要拿到对应关键词的信息就需要找到对应的关键词,那么这种查找,第一个应该想到的就是FIND函数!这是这里FIND一次查找多个,让我们分解看一下!当FIND第一参数为多单元格时,结果为数值尺寸和区域大小对应,这里我们看到结果除了第二个是1,其他都是错误值,也就是说,只有第一个关键词("牛奶")在 品名 “牛奶500ML*10桶” 找到,其他都没有查找,所以返回错误!现在我们知道那个是匹配上的,下面我们需要知道他所在的行,有了行,我们可以方便提取对应行的其他列信息MATCH在这里的用法,也是非常巧妙的,一般会使用LOOKUP处理,常规套路 LOOKUP(1,0/),使用的二分法查找原理,知道就行,这里有一个固定的用法,就是上面的 LOOKUP(1,0/)可以返回最后一个满足条件对应的值,这种二分法同样适用于 MATCH(1,0/) 升序模式(第三参数为1或者不写)这里是相对于C3:C6 这个区域来讲的,看图中划线应该可以直观的看到!在这个基础上+2,就是我们数据所在的行号了!有了行号,什么都简单了!