ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1634|回复: 3

[求助] 挑战难度的来,多条件筛选删除行,上万数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-23 11:12 | 显示全部楼层 |阅读模式
加我QQ1992928400
就是你找到一个带加号的,比如是第3行,然后根据3行的列ABEGD去找对应列值相同的行,一定要按照ABEGD的顺序哦
所以:条件1:用第3行与工作薄上万行逐一对比,找到列值ABEG与第3行AB完全相同的行,不同的跳过,继续找下一行
      条件2:满足条件1后,D列最后一个斜杠前面的文本与第3行完全相同,不同的跳过,继续找下一行,相同的继续条件3
      条件3:在按顺序满足条件12之后,判断最后一个斜杠后面是否有加号,有加号不做处理,继续寻找下一行做比较,没有加号就继续第4个条件
      条件4:在按顺序满足条件123后,如果该行最后一个斜杠“后面”()的文本(没有加号必然是一个汉语词组),与第3行加号前后的任意一个文本完全一致,那么就删除该行,如果与第3行加号前后任意文本不一致,那么不做处理,继续寻找下一行,对下一行按条件1234处理,找完所有行就换第4行来继续第3行的条件循环
      条件4中,为什么要求加号前后文本必须完全一致,因为如果找到的是满足条件123,但是最后一个斜杠后面是“24K金”,如果要求不是完全一致,那么近似的认为24K金=韩国金,那么就不是生产需求了。就错了。还有如果是第4行的香槟金或者第5行的土豪金,那么也错了。第3行要找的就是第2行那种没带加号的韩国金的,删除第2行才是目的,对于第4行的删除,由第5行来按照第3行的方式来完成,同理,第6行的删除由第7行来按条件1234来完成


所以拿第3行的ABEGD去找,找到了第2行,判断第2行最后一个斜杠后面是否带加号,发现没有,继续判断最后一个斜杠后面的文本与第3行加号前后的文本(韩国金或象牙白)是否一致,发现一致的文本“韩国金”,那么删除该行

拿第3行的ABEGD去找,找到了第4行,判断第4行最后一个斜杠后面是否带加号,发现没有,那么继续条件4,发现文本“香槟金”不等于“韩国金”,也不等于“象牙白”,那么按照条件4点规则,不做处理

拿第3行的ABEGD去找,找到了第5行,判断第5行最后一个斜杠后面是否带加号,发现有加号,那么根据条件2,不做处理

拿第3行的ABEGD去找,找到了第6行,判断第6行最后一个斜杠后面是否带加号,发现没有,那么继续条件4,发现文本“土豪金”不等于“韩国金”,也不等于“象牙白”,那么按照条件4点规则,不做处理



后面对于第5行,第7行,第12,第14,第17行都遵循第3行的方法

紫色和红色是同一种东西,只是数量不一样,所以按不同批次生产,如果数量一样,那么紫色和红色会合并到一行,所以不要去考虑紫色的列C与列EG与红色对比的问题。


按条件用VBA删除绿色和蓝色行.jpeg

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-23 11:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
条件1:用第3行与工作薄上万行逐一对比,找到列值ABEG与第3行AB完全相同的行,不同的跳过,继续找下一行

改成条件1:用第3行与工作薄上万行逐一对比,找到列值ABEG与第3行ABEG完全相同的行,不同的跳过,继续找下一行

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-24 14:04 | 显示全部楼层
这个贴的附件为什么上传了又不见了?

附件在这,按照这个附件去做VBA


去掉D列没对应加号的单色行.rar

177.34 KB, 下载次数: 9

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-25 21:56 | 显示全部楼层
从第一行开始,查找D列最后一个斜杠后面带加号的行,斜杠前面有没有加号不影响的,找到该行,带加号的行,我们成为第Q行,由于D列最后一个斜杠带有加号,必然是复色,比如韩国金+象牙白,这样,就不要去定义关键字,就算他复色有一万种,这个方法都能够把一万种选出来,然后选中该Q行最后一个斜杠的文本,以“+”为界限,设加号前的为X,加号后面的文本为Y,去寻找与Q行的列ABEG完全相同,D列最后一个斜杠前面文本完全相同的行,该行最后一个斜杠后面不能带加号,带加号是复色了,一旦找到该行,我们称为对象行S,找到比较对象行S,就比较Q行和S行的D列最后一个斜杠后面的文本,用Q行的文本X和Y去比较S行的最后一个文本,假设S行最后一个斜杠后面的文本为P,如果X=P或者Y=P,那么就删除行S,继续从S行下一行开始比较,找到列ABEG和Q行相同的行,那么就是新的S行,继续循环上面的步骤。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-27 05:21 , Processed in 0.031378 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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