- =IFERROR(VLOOKUP(K2&"*",供应商数据源!A:B,2,),IFERROR(VLOOKUP("*"&RIGHT(K2,LEN(K2)-4)&"*",供应商数据源!A:B,2,),MID(K2,LOOKUP(9^9,0/(ISNUMBER(--MID(K2,ROW($1:$999),1))+(MID(K2,ROW($1:$999),1)="-")),ROW($1:$999))+1,999)))
复制代码
目前就看到k列存在3类数据,1是前面文本一样去数据源模糊查找(VLOOKUP(K2&"*",供应商数据源!A:B,2,)),2是前面4个排除以后数据源中间出现某一段模糊查找(VLOOKUP("*"&RIGHT(K2,LEN(K2)-4)&"*",供应商数据源!A:B,2,)),3是提取最后一个数字之后的文字(MID(K2,LOOKUP(9^9,0/(ISNUMBER(--MID(K2,ROW($1:$999),1))+(MID(K2,ROW($1:$999),1)="-")),ROW($1:$999))+1,999))
若只能用B列来查找则需要用你之前的公式以后手动检查一下,若可以用K列那可以找到全部信息
用这个公式之前,得把数据源的a203改成非油品暂估供应商清账,这样就能完美匹配了。。
|