您好我有这样的excel tabelle;(有80000行和11列)
Name Lastname Email question-1 question-2 question-3 question-4 question-5
Sam Bob s@gmail.com a b c a
Ally ko a@gmail.com a c a
John So b@gmail.com
marc jo c@gmail.com a b c a
sarah du sa@gmail.com
所以我的问题是如何自动删除没有问题答案的行
答案 0 :(得分:1)
要删除行,您必须使用VBA。试试以下。
Sub Demo()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long, i As Long
Set ws = ThisWorkbook.Sheets("Sheet6") 'change Sheet6 to your data sheet
With ws
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow
If WorksheetFunction.CountIf(.Range("D" & i & ":H" & i), "") = 5 Then 'check if all 5 cells are empty
If rng Is Nothing Then 'add cell to range
Set rng = .Range("a" & i)
Else
Set rng = Union(rng, .Range("a" & i))
End If
End If
Next i
If Not rng Is Nothing Then
rng.EntireRow.Delete 'delete entire row of cells in range
End If
End With
End Sub
如何在Excel文件中添加上述代码:
Insert
菜单中点击Module
答案 1 :(得分:1)
添加新列并将此公式键入单元格tf.Variable(1.0,name="x")
(或数据末尾的任何列):
I2
此外,您可以将上面的= AND(ISBLANK(D2:H2))
更改为适用于您的工作表的内容。在我的工作表中,D2:H2
到D
列对应于问题1到问题5列。
此外,这是一个数组公式,因此您必须在键盘上按 Ctrl + Shift + Enter 而不是<键入此公式后输入。
编辑:另一种没有数组公式的解决方案(由Mrig提供)是:
H
将此公式向下拖动,无论您的数据延伸多少行。
请参阅下面的示例。
注意= COUNTA(D2:H2)=0
如何出现在所有&#34;问题&#34;的行中。列是空白的。
接下来,您可以对此数据应用过滤器,以仅包含显示TRUE
的帮助列中的那些行。
答案 2 :(得分:1)
与上述两个答案类似,另一种方法是结合建议的两种方法。
1)在excel中创建辅助公式,方法是在数据前面插入一个列,使用此公式(通过所有单元格向下拖放): = IF(COUNTBLANK(E1:L1)&gt; = 5,TRUE,FALSE)
2)点击&#34;开发人员标签&#34;在Excel中
3)点击插入&gt;模块
4)粘贴此代码:
FALSE
5)将文件另存为.xlsm
6)单击“运行/子用户表单”。
7)点击左上角的excel图标,所有包含&gt; 5空格的行都将消失。