想要在Excel里一次性搞定不连续列的筛选,FILTER和CHOOSE这两个函数简直太好用了。大家都知道FILTER很强,只要条件一列出来,数据立马就能选出来。不过要是想把那些分散在表格各处的列一起提取,就得动动脑筋了。因为FILTER默认只认连续区域。比如我想同时拿到员工编码、姓名、邮箱和部门这几个列,它们本来是在A、C、E、I这四列上的,这就叫典型的“不连续列”需求。 以前大家常用的方法就是IF加上CHOOSE来组合出击。IF函数只能一次拼两列数据,遇到多列就没法用了。这时候CHOOSE函数就派上了用场,它通过数字索引把分散的列瞬间合并成一张“长表”。比如给它传1、2、3、4这几个数字,再跟后面的几列数据一对应,就把A、B、D、E这些列都串起来了。 现在有个终极方案能一步到位:先把CHOOSE生成的“长表”塞给FILTER,再加上筛选条件就行。公式写出来特别简单:就是用FILTER套一层CHOOSE公式。这样一来非连续列就被精准提取出来了,还能保证只保留“财务部”的员工记录。 如果你的Office 365已经升级到了最新版,HSTACK函数就更方便了。它能直接横向拼接任意多列数据,不需要像CHOOSE那样还得用数字做桥梁。公式变得非常简洁:用FILTER套一层HSTACK就行了。这一招直接把拼表和筛选合二为一,阅读体验直接就上去了。 总结一下吧:老版本Excel就得先CHOOSE拼表再用FILTER筛选;Office 365和最新版直接HSTACK加FILTER一步到位;国产WPS虽然内置了FILTER但还没加入HSTACK,拼表环节还是得用老办法或者VBA来辅助。学会了这招不管用什么版本都能轻松应对“不连续列”筛选难题。这让数据清洗的工作效率变得特别高。