新的方式处理1对多查询
天天卖水果的张三有时候也想查查最近自己的销售记录,奈何不懂Excel!
那他能解决这个难题吗?
那我们就来看看1对多查询,各种处理方式,有木有小白可以使用的方法!
方法1: INDEX+IF+SMALL组合-“万金油”
这个是使用最多,历史最悠久的方法了! 所以我们先讲,但是对新手来说,还是有点难度的!
公式▼
=IFERROR(INDEX($A$1:$E$11,SMALL(IF($B$1:$B$11=$B$15,ROW($B$1:$B$11)),ROW(A1)),COLUMN(A1)),"")
原理详解之前我们已经写过专题: 公式解读 | 庖丁就牛Excel"万金油"公式
显然,这几层嵌套,让小白张三彻底懵逼! 好吧,那我们就换一种思路,任何复杂的难题,都可以通过辅助列,转成一个简单的小白都可以搞定的问题!
来看看我们的方法2吧,辅助列法!
方法2:辅助列法-轻松转成1对1,VLOOKUP轻松搞定
> 我们添加一列辅助列
公式▼
=C2&COUNTIF($C$2:C2,C2)
相当于给张三按照出现的顺序编了一个序号! ,这样就变成了1对1了
$C$2:C2 这里这里的写法,我们是只锁定了第一个单元格,这样下拉区域会不断的增加,这也就是顺序编号的原理!
> 使用VLOOKUP查询得到结果
公式▼
=IFERROR(VLOOKUP($C$15&ROW(A1),$A$1:$F$11,COLUMN(B1),),"")
VLOOKUP 想要返回多列结果,只需要把第三参数使用COLUMN来代替,COLUMN可以返回给定地址的列号,这样右拉就可以自动增加,产生2、3、4……
这其实来说已经很简单的,但是张三还是觉得太难了,继续来试试新的方法,这个是真的简单!
方法3:一个函数搞定-Filter
FILTER是MS365版本新增的筛选函数,这算是打破了多年的1对多查询难题,不会再有人这也难了吧!?
MS365引入了动态数组的概念,我们在之前365版本相关的问题中也提及了
赞 (0)