В Excel, как удалить / отфильтровать все строки, кроме записи, соответствующей определенному шаблону? - PullRequest
0 голосов
/ 09 июня 2011

У меня есть лист Excel с 7 полями.
Я хочу удалить / отфильтровать все записи, которые не имеют строки /inf/ в 5-м поле.
Как я могу добиться этого?

Вход

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 ]

4 голосов
/ 09 июня 2011

Вы можете создать столбец справа от данных по формуле

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

, а затем отсортируйте данные и удалите записи, значения которых равны 1. (Я предполагаю, что столбец 'F5' соответствует столбцу E и что вы начинаете со строки 2, но формула может легко быть изменен для работы с вашими данными).

1 голос
/ 09 июня 2011
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
...