本帖最后由 OKJSJSF 于 2019-5-1 22:23 编辑
这个问题太经典实用了,可惜在《Excel 函数其实很简单II》中介绍查询之王Lookup、Find用法时没有写进去,我前几天刚把这个公式教给我的同事,我是三年前在百度贴吧"excel吧"中求得这个公式的。公式应这么写: =lookup(9^9,find($b$2:$b$10,$a2),b$2:b$10) 向下填充,向右填充,即可。 第三参数b$2:b$10可以根据需返回结果情况写成与查找列表b$2:b$10对应的c$2:c$10或d$2:d$10等都可以。 我是把单列$b$2:$b$10或多列$b$2:$f$10作为参数表预先设置录入好的,比如客户联系地址中的行政村,不包含前面的省市县等,也不包含后面的自然村门牌号等,a2是详细地址,是包含省市县村自然村门牌号的地址全名,但也不一定是准确的全名,也可能会是错误的地址名。通过填充,查询出纯粹的行政村名称,以及与该行政村名对应的管片客户经理姓名,或客户经理代号,或分支机构名称或代码等数据信息,用于数据透视表的字段,生成透视表或图表。这样就免去了多次高级筛选或模糊查找的麻烦。 虽然公式已用了三年多时间,但我自己还没搞懂它的计算原理,我还不知道为什么find可以同时用多个查找值进行同时查找,又为什么不必用数组大括号,当我在lookup()公式中把find($b$2:$b$10,$a2)抹黑后按F9键时,显示出的是错误!?,当把=find($b$2:$b$10,$a2)作为单独的公式填充使用时,并不能进行正常查找!?我正想在本论坛发表求助贴,于是在此写了这个贴子,顺便作为求助贴了。
|