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

发布于 2024-11-14 07:18:13 字数 618 浏览 3 评论 0原文

我有一个包含 7 个字段的 Excel 工作表。
我想删除/过滤第五个字段中没有字符串 /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

请帮忙。

谢谢,
斯里哈里

I have a excel sheet with 7 fields.

I want to remove/filter all the records that donot have string /inf/ in the 5th field.

How can I acheieve this?

Input

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

Output

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

Please help.

Thanks,
Srihari

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉风有信 2024-11-21 07:18:13

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

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

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

You could create a column to the right of the data with the formula

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

and then sort the data, and delete the records with that have a value of 1. (I'm assuming that column 'F5' corresponds to column E and that you're starting in row 2, but the formula can easily be changed to work with your data).

红尘作伴 2024-11-21 07:18:13
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
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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文