在excel中如何删除/过滤除匹配特定模式的记录之外的所有行?

时间:2011-06-08 20:44:14

标签: excel excel-2007 excel-2003 excel-formula

我有一张包含7个字段的Excel表格。
我想删除/过滤在第5个字段中没有字符串/inf/的所有记录。
我怎么能这样呢?

输入

F1     F2    F3   F4     F5    F6    F7
------------------------------------------

1      2      3   4    A/inf/B  5     6
1      2      3   4     5       6     7
1      2      3   4     6       7     8 
5      6      7   8    A/inf/B  9     2

输出

F1     F2    F3   F4     F5    F6    F7
------------------------------------------
1      2      3   4    A/inf/B  5     6
5      6      7   8    A/inf/B  9     2

请帮忙。

谢谢,
斯里里

2 个答案:

答案 0 :(得分:4)

您可以使用公式

在数据右侧创建一列
=if(iserror(find("/inf/",E2)),1,0)

然后对数据进行排序,并删除值为1的记录。(我假设列'F5'对应于E列,而您从第2行开始,但公式很容易被更改为使用您的数据)。

答案 1 :(得分:1)

Sub DeleteNonInfRows()
    Application.ScreenUpdating = False
    Dim r As Long
    For r = Cells(Rows.Count, 5).End(xlUp).Row To 2 Step -1
        If InStr(1, Cells(r, 5), "/inf/") = 0 Then Cells(r, 1).EntireRow.Delete
    Next r
End Sub