在Excel中有多行21列数据,怎样提取含有两个0以上的数据行?

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:25:09
本人近期遇到这样难题,恳请热心人给予帮助!!!!!!
在Excel表格中有这样一个表格,它共有21列,206350行,每行的21个单元格中的数据不完全相同,怎样从这些数据中将每行中含有两个0以上的数据行提取出来?举例:
A B C D E F G H I J K L M N O P Q R S T U
1 9 5 3 0 8 2 3 9 2 4 0 8 0 7 0 6 3 1 8 0 3
2 4 0 5 3 6 2 5 2 6 8 4 2 7 6 2 6 8 5 2 3 -4
3 6 2 9 2 6 7 4 2 7 -5 2 6 8 5 2 3 -4 2 1 7 9
4 8 0 7 0 6 3 1 8 0 5 3 6 2 5 4 0 8 0 -3 0 6
............
怎样将上述表格中含两个0以上的整行数据从原来的表格中提取出来,并删除掉,保留剩下的数据!?

用VBA代码来自动删除:
从第二行开始,第一列值是否为零,不是就下一列,是就计数,这里列数累加零的次数累加,0次数=2就选中整行删除,然后转到下一行,列数重置到第一列,很快就能完成了,运行前须备份,防止意外。
Sub MACRO()
X = 2 '第一行是表头
Y = 1 '第一列开始
N = 0 '零的次数
Do While Cells(X, Y) <> ""
LINE1:
Do While Cells(X, Y) <> ""
If Cells(X, Y) = 0 Then
N = N + 1
End If
If N = 2 Then
Cells(X, Y).EntireRow.Delete
N = 0
GoTo LINE1
End If
Y = Y + 1
Loop
X = X + 1
Y = 1
Loop
End Sub
已经2003版本调试通过,你试试。

在V1输入
=COUNTIF(A1:U1,0)
然后以V列作为关键字排序,删除从2开始的行,再删除V列

自动删除实现不了,只能再加一列,用=if(countif(a1:u1,0)>=2,1,0)计算出每行0的个数并做标记,自己再排序删除

你可以在数据里面建立筛选 在筛选里面设置满足你要求的 就可以了