展开全部
紧贴你的数据区插入2列,例如为A、B两列,A列为行号,B1输入公式=mod(A1,5).然后所有数据按照B1列排序,把你不需要的数据直接删掉就行了
用不着VBA,不要想太复杂了
用不着VBA,不要想太复杂了
追问
数据量非常大啊
追答
数据量大本身不影响Excel的计算速度,只要公式别乱用就行。有些公式很消耗计算速度,比如sumproduct,在数据多的时候尽量别用。VBA也不一定速度就快多少,只是用的灵活而已,如果你用循环几万次判断来做,可能速度还没有直接删除快。
如果确认你的excel表中公式不是很多,直接做吧。一张表而已,最多也就6万多行,排序应该用不了多久的。难道你的数据是65536行X256列?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解决思路:将4.6.7.8.10.11
写到Sheet2的A1,然后分列。再判断是不是有连续3位是否为相邻的!
设置一个按钮,指向相面的代码:
Sub ouyangff()
k = [i65536].End(3).Row
For i = 6 To k
Sheet2.Select
Rows("1:1").ClearContents
[a1] = Sheet1.Cells(i, 9)
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:=".", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1)), TrailingMinusNumbers:=True
t = 0
For j = 1 To 6
If Cells(1, j) + 1 = Cells(1, j + 1) And Cells(1, j + 1) + 1 = Cells(1, j + 2) Then t = 1: Exit For
Next j
If t = 1 Then Sheet1.Cells(i, 11) = "X"
Next i
Sheet1.Select
End Sub
处理后再按K列排序就可以将你需要的数据分离出来了!
祝你工作顺利 !!!
写到Sheet2的A1,然后分列。再判断是不是有连续3位是否为相邻的!
设置一个按钮,指向相面的代码:
Sub ouyangff()
k = [i65536].End(3).Row
For i = 6 To k
Sheet2.Select
Rows("1:1").ClearContents
[a1] = Sheet1.Cells(i, 9)
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:=".", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1)), TrailingMinusNumbers:=True
t = 0
For j = 1 To 6
If Cells(1, j) + 1 = Cells(1, j + 1) And Cells(1, j + 1) + 1 = Cells(1, j + 2) Then t = 1: Exit For
Next j
If t = 1 Then Sheet1.Cells(i, 11) = "X"
Next i
Sheet1.Select
End Sub
处理后再按K列排序就可以将你需要的数据分离出来了!
祝你工作顺利 !!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设:单元格A1开始储存原始数据,B、C列辅助
从B1输入公式:
=A1&ROW()-MOD(ROW()-ROW($A$1),5)
C3输入公式:
=IF(MAX(COUNTIF(B1:B3,B3),COUNTIF(B2:B4,B3),COUNTIF(B3:B5,B3))=3,"Dup","")
B1、C3公式下拉填充至A列数据最后数据,删除显示“Dup”的数据。
从B1输入公式:
=A1&ROW()-MOD(ROW()-ROW($A$1),5)
C3输入公式:
=IF(MAX(COUNTIF(B1:B3,B3),COUNTIF(B2:B4,B3),COUNTIF(B3:B5,B3))=3,"Dup","")
B1、C3公式下拉填充至A列数据最后数据,删除显示“Dup”的数据。
更多追问追答
追问
没明白 能留下联系方式么
追答
可以举具体的例子说明,比较复杂的话可以Hi我。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把表格给我,我给你想想办法。。。
yyd-yyd@163.com
yyd-yyd@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询