【问题标题】:In an excel how to remove/filter all the lines except the record matching a particular pattern?在 excel 中,如何删除/过滤除与特定模式匹配的记录之外的所有行?
【发布时间】:2011-06-08 20:44:13
【问题描述】:

我有一个包含 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

请帮忙。

谢谢,
斯里哈里

【问题讨论】:

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


    【解决方案1】:

    您可以使用公式在数据右侧创建一列

    =if(iserror(find("/inf/",E2)),1,0)
    

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

    【讨论】:

    • 感谢 Jubbles 我已经这样做了,并过滤了所有值为 0 的行,它对我有用。
    【解决方案2】:
    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-25
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      相关资源
      最近更新 更多