【Excel】多条件查找之精确/模糊查询

图表
各位小伙伴们,晚上好,有朋友问我,怎样多条件查询…都知道,查询函数大概有vlookup、lookup、index+match、高级点的还可以用sum、dget、sumif等众多套路实现查询的目的;那么,跟随我的思路,一块解决这位小伙伴的问题:
拿到题,先分析一下,树种、起源,是精确查找,树龄,是模糊查找;分步走,一步一步得到想要的结果,先搞定精确查找:
=MMULT(COLUMN(A:T)^0,IFERROR((M3&N3=A1:A20&B1:B20)*(B1:J20),))
=IFERROR((M3&N3=A1:A20&B1:B20)*(B1:J20),)这个公式,将树种,起源合并到一起,符合条件的返回对应的树龄数字,不符合的返回0;返回的区域数组,用mmult转换成一行,公式就变成了:=MMULT(COLUMN(A:T)^0,IFERROR((M3&N3=A1:A20&B1:B20)*(B1:J20),))
如下如:
到这里,先停下来思考,①、咱们的目的达到了没?②接下来怎么做?
咱们的目的,可以说达到了,也可以说没达到;达到了第一步:搞定了精确查找;但是,没达到最终的查找要求;接下来就好办了,进行模糊查找噻;
看一下用mmult处理后,出来的结果,发现,几乎很符合lookup查找方式,只需再做微处理就好;
我是这样做的:=IF({1,1,0,1,0,1,0,1,0},MMULT(COLUMN(A:T)^0,IFERROR((M3&N3=A1:A20&B1:B20)*(B1:J20),))))
这里使用了if的数组用法,利用常量数组,返回的结果是:
到此,再利用LOOKUP函数的(1,0/…)查找方式,就能得到结果了,如下:
看似很难的题,通过我们一步步分解,就这样解决了,其实,再难的题,也是通过一步步分解,最终也会得到想要的答案的;

公式千变万化,不变的是解题思路!!

(0)

相关推荐