Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4981|回复: 9

紧急求助,如何根据条件批量筛选

[复制链接]
发表于 2014-7-14 14:26 | 显示全部楼层 |阅读模式
   A                                         B
1 中国北京天安门                北京
2 天安门在北京                   天安门
3 我在北京天安门旅游         西安
4 我在北京               
5 美丽的西安               
6 我的家乡是在美丽的西安               
7 我是中国人               
8 我爱我家               
9 美丽的西安在中国西部               
10 北京和西安都在中国               

各位大咖好:
遇到一个棘手的问题。如上所示,根据条件B列的内容(不只三行可能是数百数千行),批量(记住是一定是批量哦)筛选出含有B列单元的(字段)内容的A列单元格(可能数万条)。无论是函数或者条件格式都行,先拜谢了!

批筛选.rar

5.79 KB, 下载次数: 26

批量筛选

发表于 2014-7-14 14:45 | 显示全部楼层
本帖最后由 tgydslr 于 2014-7-14 14:50 编辑

G1
  1. =IFERROR(INDEX(A:A,SMALL(IF(MMULT(IFERROR(FIND(TRANSPOSE(E$$$$1:E$$$$3),A$$$$1:A$$$$10),),{1;1;1}),ROW($$$$1:$$$$10)),ROW())),"")
复制代码
三键下拉
回复

使用道具 举报

发表于 2014-7-14 14:51 | 显示全部楼层
批筛选.rar (6.25 KB, 下载次数: 20)
回复

使用道具 举报

发表于 2014-7-14 14:52 | 显示全部楼层
红颜色是我加上的部分,用高级筛选,右边的为筛选条件。

批筛选.rar

6.1 KB, 下载次数: 14

回复

使用道具 举报

发表于 2014-7-14 14:52 | 显示全部楼层
红颜色是我加上的部分,用高级筛选,右边的为筛选条件。

批筛选.rar

6.1 KB, 下载次数: 9

回复

使用道具 举报

 楼主| 发表于 2014-7-14 15:18 | 显示全部楼层
tgydslr 发表于 2014-7-14 14:45
G1三键下拉

你好,我试了一下确实好像没问题。我有个疑问啊,我增加了A列内容和对应的B列内容,公式里面的选择区域我也修改,为什么又出错了,如果我要运用到实际中,能给出注意事项么?或者把公式的想法麻烦解释一下!!另外如果用技巧比如说条件格式的含有特定文本一项(貌似只能单个操作)有没有好的方案呢?十分感谢!
回复

使用道具 举报

 楼主| 发表于 2014-7-14 15:35 | 显示全部楼层
zac0226 发表于 2014-7-14 14:52
红颜色是我加上的部分,用高级筛选,右边的为筛选条件。

您好,可能我没有讲清楚,通俗点就是要B列条件文本,筛选出A列符合条件的文本,汇总出所有A列中所有分别含有“北京”文本和“西安” “天安门”的单元格,当然,文本在A列中单元格中的位置不固定,可能含有,可能不含,可能同时含有多个文本“北京”文本和“西安” “天安门”,也可能只含有一个。

其实根据条件格式——突出显示单元格中——文本包含选项中一个个筛选出来(只能单个文本,不能多个),但是目前我的手里面的明细已经上万条了,条件文本也已经上百条(而且不断在增加),就像问问能不能根据条件格式和公式结合批量处理,或者公式也行(一定要给出思路和解释哦)!
回复

使用道具 举报

发表于 2014-7-14 17:23 | 显示全部楼层
shi_chaofeng 发表于 2014-7-14 15:18
你好,我试了一下确实好像没问题。我有个疑问啊,我增加了A列内容和对应的B列内容,公式里面的选择区域我 ...

哦,你希望a列与e列都可以扩充吧,这样
  1. =IFERROR(INDEX(A:A,SMALL(IF(MMULT(IFERROR(FIND(TRANSPOSE(OFFSET(E$$$$1,,,COUNTA(E:E))),OFFSET(A$$$$1,,,COUNTA(A:A))),),1^ROW(INDIRECT("1:"&COUNTA(E:E)))),ROW(INDIRECT("1:"&COUNTA(A:A)))),ROW())),"")
复制代码
就没问题了
数据要求:为了美观一些,最好a列及e列都是连续的

批筛选.rar

6.44 KB, 下载次数: 13

回复

使用道具 举报

发表于 2014-7-16 09:13 | 显示全部楼层
本帖最后由 yunqingzi 于 2014-7-16 09:24 编辑

我的方法是用sql语句,支持大批量,而且执行速度也快。
通过OLE DB 连接,输入如下sql语句
select distinct * from  (select 源数据 from [源数据$],[条件数据$]  where [源数据$].源数据 like '%'&[条件数据$].条件数据&'%')
即可得出结果,支持实时刷新。可以随时增加、删减原始数据和条件数据。具体见附件!

批筛选.rar

65.57 KB, 下载次数: 24

回复

使用道具 举报

发表于 2014-7-18 15:59 | 显示全部楼层
您好,可能我没有讲清楚,通俗点就是要B列条件文本,筛选出A列符合条件的文本,汇总出所有A列中所有分别含有“北京”文本和“西安” “天安门”的单元格,当然,文本在A列中单元格中的位置不固定,可能含有,可能不含,可能同时含有多个文本“北京”文本和“西安” “天安门”,也可能只含有一个。

其实根据条件格式——突出显示单元格中——文本包含选项中一个个筛选出来(只能单个文本,不能多个),但是目前我的手里面的明细已经上万条了,条件文本也已经上百条(而且不断在增加),就像问问能不能根据条件格式和公式结合批量处理,或者公式也行(一定要给出思路和解释哦)!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-3 18:42 , Processed in 0.494758 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表