请excel高手请进回答一下这个简单的问题(200分)

一个工作表里面有50000条数据,其中约2000条是重复的.我通过以下方法来筛选:
1.点击EXCEL左上角空白处,全选这个工作表.
2.数据---筛选---自动筛选(这一步可能是多余,但是我一直这样做)---数据---筛选---高级筛选(我自创的)
3.选在原有区域显示筛选结果(这时列表区域已自动填充内容了)
4.条件区域空白
5.在选择不重复的记录前打勾.
6.按确定开始筛选.
我的问题是:有的时候可以准确筛选出结果,可有的时候结果确是从50000多条数据中选出20多条重重数据.其实我知道至少有20000多条重复数据.这是怎么一回事呢?
怎么没有人能给个正确的答案.五六个人回答的都不对呀

1,可能是信息并不完全一致,比如某些带空格某些不带,某些具有特殊格式例如时间格式或者货币格式与数值就不同.
2,我说,Excel这软件比较差劲,不管你信不信.处理数据速度慢,尤其是数据多的时候.
另外一点,用内置宏和VB的时候常会出错.错得莫名其妙.比如内置VB处理数值变成字串并加入某个字符,结果就会有些成功有些失败有些变成半角全角无规律.这一点不排除是我水平太差.
-------下面是另一个相关帖子中我的发言,仍不修改,坚持高速处理.
刚好前几天帮朋友解决了这么个问题.
解决思路是这样的,首先Excel中用VB编程不方便也不实用.所以绕路前进.首先在Excel中对表进行按第一列排序.然后输出成为csv文件,我编了个小程序处理这个文件.你把CSV文件命名为"tel.csv"然后和我的程序放在一起,运行一次程序,然后将生成的"telnew.csv"导入Excel随意咯.....
http://k4me.myrice.com/k4me.exe
回答者:k4me - 进士出身 八级 7-12 23:24
-----------相关帖子位置:
http://zhidao.baidu.com/question/9646509.html?pn=0
------------
也同意你使用筛选功能,毕竟是内置,就像用惯PS的人,即使裁剪一下也舍不得用ACDSEE而只用PS.理解.
======================================二次补充
楼主,建议你把你的表格内重要的字段列删除,然后把表发上来,大家帮你想办法,另外你也参照一下自己处理的结果与别人处理的结果有什么不一致的地方,找到问题关键所在.也对未来看到此帖的人有所帮助.声明,最好别给我分.选择用筛选功能完美解决的答案发红旗.如果你自己解决了,建议把详细操作重点写在补充或者评语里.
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-08-17
请看专业的正确回答:
1、第二步的“自动筛选”可以省略
2、高级筛选不重复的数据,只给出重复数据中的第一条数据,其它不于显示。比如一行和三行、五行的数据相同,筛选后只显示第一行的数据。
3、正确操作
1、先用你的操作方法,筛选出20条数据,将这20条数据(包括标题行,也必须有标题)复制到新表上
2、然后全部显示原有数据,再重新对这些数据进行高级筛选,将新表上的数据作为条件区域。将除标题以外的所有数据删除(记住是删除行)
3、最后把新表上的数据复制回原表上(不包括标题行)即可。
一切OK
当然如果你懂VBA的话,还有其它的方法,相知道发消息给我吧。!!

问题补充:
其实还有更简单方法,你只将所有数据排一下序(任何序都行),然后再用你的方法来操作,但注意不要全部删除,因为其中包含一条不重复的数据。

参考资料:相信我没错的

第2个回答  2006-08-21
高级筛选条件区域空,筛选的是第一列的数据,如果根据第一列判断不出是否重复的话,这样是筛选不出来的。
如果你要筛选的不是第一列,可以这样设置条件
找一个空白的列,(假设筛选第二列)
第一行空,
第二行输入:=b2=if(countif(b2:b$2)=1,b2,"")
这样就可以根据第二列数据刷选重复数据了。

另外一种方法不用高级筛选,
插入辅助列,
输入函数:
=if(countif(b2:b$2)=1,"重复","")
然后自动筛选“重复”即可,删除重复,剩下的就是不重复的了

哪位大侠看看我的200分问题?
http://zhidao.baidu.com/question/10677850.html
第3个回答  2006-08-18
这个问题我以前遇到过,最后还是编了个程来解决的。大概是这样

sub bb()

dim a,b,c as int
dim aaa,bbb,ccc as string

for a=1 to 最后
aaa=worksheets("sheet1").cells(a,1).value
for b=a+1 to 最后
if worksheets("sheet1").cells(b,1).value=aaa then
worksheets("sheet1").cells(b,12).value=1
endif
next b
next a

end sub

意思就是在重复的后面一栏标一个1

标完后对这一行排序,重复的内容就都排到一起可以删除了。
第4个回答  2006-08-13
是不是你的条件区域和表格数据区域字段名没有完全匹配,而且自动筛选和高级筛选是两个各自独立的方法,要用哪一个只需点一个即可,不需要先点自动再点高级,再一个条件区域空白是什么意思呀,高级筛选时条件设定也很重要:该条件区域至少为两行,第一行为设置筛选条件 的字段名,该字段名必须与数据清单中的字段名完全匹配!
第一步:单击数据清单内的任何一个单元格,可以不必全部选中;
第二步:选取"数据"菜单中"筛选"命令下的子命令"高级筛选",出现"高级筛选"对话框
第三步:在"方式"框中选择结果的输出位置
第四步:确定筛选的列表区域,这时你可选中整个表格
第五步:在"条件区域"选中你所设定的筛选条件所在的单元格区域
第六步:选中对话框中的"选择不重复的记录"复选框
第七步:单击"确定"按钮!
第5个回答  2006-08-22
songme的回答最简便,但只适用于某列数据的重复筛选。如果是对多列数据的重复筛选,会误删非重复的数据的,例:
a 12 nnn ""
a 14 nnn ""
a 12 nnn "重复"
b 12 nnn "重复"
c 34 mmm ""
b 12 nnn "重复"
用songme的方法对B列使用公式,会删除"b 12 nnn"。
正确的解法是把多列合并成一个唯一索引字串,然后再用songme的公式对这一索引列进行重复筛选:
公式:=a1&b1&c1&d1&...(请注意合并后的字串不要超过255个字符)
例:
a 12 nnn a12nnn ""
a 14 nnn a14nnn ""
a 12 nnn a12nnn "重复"
b 12 nnn b12nnn ""
c 34 mmm c34mmm ""
b 12 nnn b12nnn "重复"
如上所述,其实不用合并全部的数据列,只要把可能重复的多列合并即可

请excel高手请进回答一下这个简单的问题(200分)
1,可能是信息并不完全一致,比如某些带空格某些不带,某些具有特殊格式例如时间格式或者货币格式与数值就不同.2,我说,Excel这软件比较差劲,不管你信不信.处理数据速度慢,尤其是数据多的时候.另外一点,用内置宏和VB的时候常会出错.错得莫名其妙.比如内置VB处理数值变成字串并加入某个字符,结果就会有些成...

Excel问题,高手请进!!!
在Excel中,通配符包括两个:* 和 ?。星号 * 代表任意数量的任意字符。而问号 ? 则代表单个任意字符。假设当前行号为 1。使用函数 row() 获取此行号值,即为 1。将星号 * 与 row() 结合使用,例如 "A"&ROW()&"*",结果为 "A1*"。这个表达式能够匹配任何以 "A1" 开头的字符串,如 "A1...

一个excel的问题,请高手帮我看看问题出在哪里了?
分步显示以后我们可以看到,G8+F7这里经过计算后产生了误差了。这个是由于EXCEL的计算精度导致的。EXCEL最大的计算精度是15位浮点运算。所以有时候加减乘除的运算会导致二进制有尾数被截断,从而导致数据的误差 。至于浮点运算的原理,可以自己在网上找一下,有很多科普的,这里就不赘述了。一般处理这种问题...

请excel函数高手详解这个问题!
1. 有一个真实表,在只面把身份证号放在姓名前面一列 2. 原来有身份证、姓名、年龄,现在再加上两列,一列取出真实姓名[这个应该没问题,具体您数据的格式应该能做到],后一列拿出当前行的行号[“公式:=ROW()”]3. 建立校准数据,用来得到数据的在姓名、身份证、年龄三个列后再加两列:一列...

关于excel问题,高手请进!
最简单的办法就是直接使用“条件格式”,给偶数行填充黄色。做法:1)选中全部要隔行填色的数据 2)在上面的菜单中选择“格式”>“条件格式”3)在出现的条件下拉框中选择“公式”,在右边输入下述公式:=MOD(ROW(),2)=0 4)点下面的“格式”按钮,在“图案”卡中选中你所要的黄色,“确定”5)...

EXCEL表格问题,高手请进?
如果这是关键词库,那就不应该存在:日期、指数、点击率这些数据 仅保留关键词、中文和分组 然后把新词加进去剔除重复项 然后另外有一张每日点击率的表格,是不需要剔除重复项的,就每次添加进去即可

EXCEL高手进!急!急!急!麻烦做下以下题目!我要具体的操作,因为要在原题...
选中A列,点数据-数据有效性,在弹出的对话框选择第一项【设置】,在下面【有效性条件】-【允许】处选择【文本长度】,最小值和最大值都设为5。然后在第三项【出错警告】,勾选“输入无效数据时显示出错警告”,在【错误信息处】输入“请输入大于4个字符长度的字符串”。确定即可。经测试可行。

请excel高手进来指点一下,小妹我万分感激
先检查公式输入是否正确,确认是否有输入等号“=”,然后检查单元格属性,点右键,选择设置单元格格式,将其调整为数值格式。若还不好用,那么就插入一行或一列,将目标单元格内容复制后,选择“选择性粘贴-数值-加”应该能解决问题

求助excel的高手,请进(经典问题)
如果数字总是1位的,可用公式 =SUM(IF(ISERROR(--MID(A1,ROW($1:$50),1)),0,--MID(A1,ROW($1:$50),1)))求得。这个是数组公式,需要按Ctrl+Shift+Enter结束公式输入。如果数字有2位以上的,则要另做公式了。

excel难题,高手请进
1题:=SUM(LEN(B1:B12))-SUM(LEN(IF(LEFT(B1:B12,4)="〖1次〗",SUBSTITUTE(B1:B12,"F",""),B1:B12&"")))数组公式,按CTRL+SHIFT+ENTER结束。结果为2 简化一下:=SUM((LEFT(B1:B12,4)="〖1次〗")*(SUBSTITUTE(B1:B12,"F","")<>B1:B12))2题:=SUM(--TEXT(MID(SUBSTITUTE...

相似回答