excel多条件筛选
本帖最后由 aiuwl 于 2011-09-23 23:25:50 编辑 筛选出
第一个条件一列值不相同
第二个条件另一列值相同
第三个条件是另一列值重复值有一定的误差范围,例如全是123.123这种格式的数值,相差假如为0.050或是其他指定的范围值。
数据有很多,其实就是分组别的重复数据临筛选。
请高手给段代码或涵数或一个SQL 语句都可以。谢谢了。
2月5日故事 123.123
2月6日故事 123.124
2月5日小说 199.923
2月6日小说 199.936
日期也可以是文本或数值形势的。
[最优解释]
回复楼主:
为了编写VBA代码,我花了近3个小时,我感觉手动排序、筛选比较容易,但要用VBA实现自动化,真不是件容易的事,累死我了!!!! 嘿嘿……
在编写VBA过程中,为了实现排序的功能,我使用了Excel自带的sort对象,减小了排序的工作量。
本次“容差排序”算法的步骤(请结合下面链接的附件):
(1)清除空行
判断数据表中是否有空行,若有,则删除。其作用:为再次“容差排序”作准备,即数据表中各行要连续,中间无空行。
(2)整体排序
对整个数据表排序,主关键字:B列,升序; 次关键字:A列,升序
(3)局部排序
B列中值相同的区域对C列排序
(4)计算容差,分组,局部排序 (这一子过程最复杂,最耗时)
B列中值相同的区域对C列计算容差值,并分组,然后再对所得到的分组再按A列排序。
(5)测试,OK。
最后,说明一下,我使用的Excel版本是Excel2007,请使用Excel2007或更高版本打开,否则,可能会提醒有些对象不支持。
以上可能废话太多,嘿嘿…… 楼主还是先把附件下载下来,试试能不能满足你的要求。
附件: http://dl.dbank.com/c08junx8q4
[其他解释]
用第二列排序、再用第一列排序(两个条件排序)
然后第三列进行条件筛选
[其他解释]
第三个怎么进行条件筛选啊,不能实现吧,我试过,判断的是几千条数据只要差不大于50就相同。
估计涵数都不行,肯定是得用VBA, 甚至EXCEL实现不了,得用数据库吧。
[其他解释]
excel的筛选,是可用自己写公式的
你的所谓电大误差范围,啥意思?不理解。
[其他解释]