Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: KDZ

[已解决]请指教:查找并自动删除重复行!!!!

[复制链接]
 楼主| 发表于 2014-2-28 10:07 | 显示全部楼层
dsmch 发表于 2014-2-27 18:59
If arr(i, 17) = "" And ( arr(i, 18) = 1 or arr(i, 19) = 1) Then

你好,谢谢你!你这个代码最后保留的是两条相同内容的,而不是一条,我要的是只留下一条来用,麻烦您烦神一下。
回复

使用道具 举报

发表于 2014-2-28 10:14 | 显示全部楼层
KDZ 发表于 2014-2-28 10:07
你好,谢谢你!你这个代码最后保留的是两条相同内容的,而不是一条,我要的是只留下一条来用,麻烦您烦神 ...

你的表达有问题,建议理清思路再提出问题。
回复

使用道具 举报

 楼主| 发表于 2014-2-28 10:36 | 显示全部楼层
dsmch 发表于 2014-2-28 10:14
你的表达有问题,建议理清思路再提出问题。

     我的思路是我这一张有时里面有很多重复的行,但我要有选择条件地删除重复行中的所有行,只留一条来用,其它各列条件不变,你已帮我解决了,我不说了。
       就剩下17.18.19三列的问题,因为我想分二次两个代码来完成删除工作:
       第一步“当17列为1时,表示这对夫妇是一孩生育的”,我要将这所有一孩生育的各行,删除其中重复行中的所有行,只留一行,昨天你的代码已完全行了。
     第二步,就是“当17列为空、18列 或者 19列为1时,表示这对夫妇是二多孩生育的”,我要将这所有二多孩生育的各行,删除其中重复行中的所有行,只留一行。问题是要解决第二步的代码!
     如果能不分二步走,一步能完成当然更好。
     不知我表述是否清楚了,再次麻烦您了,谢谢!!!
回复

使用道具 举报

发表于 2014-2-28 10:54 | 显示全部楼层
条件当17列为空、18列 或者 19列为1
重复判断为:一、17列为空、18列 为1
                  二、17列为空、19列为1
和条件一相同为重复,和条件二相同为重复,条件一和二并不重复。
回复

使用道具 举报

 楼主| 发表于 2014-2-28 11:28 | 显示全部楼层
dsmch 发表于 2014-2-28 10:54
条件当17列为空、18列 或者 19列为1
重复判断为:一、17列为空、18列 为1
                  二、17列为 ...

真不好意思,你早上的代码就完全行了,是我粗心大意,看错了,害你浪费这多多时间。{:011:}{:011:}抱歉抱歉,感谢感谢!!!
回复

使用道具 举报

发表于 2014-3-2 08:19 | 显示全部楼层
11111111
回复

使用道具 举报

 楼主| 发表于 2014-3-3 12:08 | 显示全部楼层
dsmch 发表于 2014-2-28 10:54
条件当17列为空、18列 或者 19列为1
重复判断为:一、17列为空、18列 为1
                  二、17列为 ...

   您好:我原来反反复复的思路确实总不清,非常非常不好意思!!,代码总不理想。现在经过反复测试真的清楚了,以下是我的最后的思路,麻烦老师再次帮我搞一下。十分谢谢!!!!!!!!!!
      一览表
1列
2
3
4
5
6
7
8
9
 
16
17
18
19
20
21
22
23
24
25
26
27列
28
 
我的目标:
代码后是否删除
序号
 
 
 
 
 
 
 
 
 
 
 
孩次
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1孩
2孩
3孩
 
 
 
 
 
 
 
 
 
 
 
 
 
 
黄俊
 
 
英林林
 
 
 
 
 
1
 
 
 
 
 
 
 
200
 
 
不删除,因为27列不为空
1
最后这同一个人,

仅留下序号1.2.3行
 
 
黄俊
 
 
英林林
 
 
 
 
 
1
 
 
 
 
 
 
 
 
 
不删除,因为28列不为空
2
 
 
黄俊
 
 
英林林
 
 
 
 
 
1
 
 
 
 
 
 
 
 
 
 
删除,因为19列为1,表示这个人最高生育3孩
3
 
 
黄俊
 
 
英林林
 
 
 
 
 
1
 
 
 
 
 
 
 
 
 
 
删除,上一行重复
3
删除
 
 
黄俊
 
 
英林林
 
 
 
 
1
 
 
 
 
 
 
 
 
 
 
 
删除,因为18列为1,表示这个人也生育了2
4
删除
 
 
黄俊
 
 
英林林
 
 
 
1
 
 
 
 
 
 
 
 
 
 
 
 
删除,因为18列为1,表示这个人也生育1
5
删除
当一个姓名在1.5.8列中均重复相同的前提下:
    1、判断:如果这个人有19列标为“1”时【表示这个对象最高生育3个孩子】,则,全部删除17.18列为1的行【删除他的1.2孩】,且仅保留19列为1所有行中一行【如果有19列标为1,有多行的话】,但,当27列或者28列不为空时,保留27列或者28列不为空这一行。
   
    2、判断这个人如果
19列标为空,18列标为1时【表示这个对象最高生育2个孩子】,全部删除17列为1的行【删除他的1孩】,且仅保留18列为1的所有行中的一行【如果有18列标为1,有多行的话】 ,但,当27列或者28列不为空时,
保留这一行。
   
    3、判断这个人如果19、18列标均为空,只有17列标为1时【表示这个对象最高生育
1
个孩子】,仅保留17列为1的所有行中的一行。
当27列或者28列不为空时,保留这一行。但,当27列或者28列不为空时,
保留这一行。

新表1.zip

22 Bytes, 下载次数: 6

回复

使用道具 举报

发表于 2014-3-3 12:32 | 显示全部楼层
附件没有内容
回复

使用道具 举报

发表于 2014-3-3 12:33 | 显示全部楼层
KDZ 发表于 2014-3-3 12:08

附件不能解压
回复

使用道具 举报

 楼主| 发表于 2014-3-3 14:46 | 显示全部楼层
dsmch 发表于 2014-3-3 12:33
附件不能解压

是不是我原上传的是2007版的,现在重新传一下,请再次查看 下,谢谢

新表1.zip

5.16 KB, 下载次数: 5

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 21:34 , Processed in 0.355265 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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