Musisz odfiltrować niektóre nazwiska z listy Wszystkich nazw

-1

Mam listę nazwisk.
Muszę oddzielić nazwy zawierające znaki g,j,p,q,y.
Nazwy mogą zaczynać się od, G,J,P,Q,Ytj. Znaków jako pierwszej litery. Ale znaki g, j, p, q, y nie powinny znajdować się w żadnej innej części nazwy.

Proszę pomóż mi.

Np .: trzeba odfiltrować nazwiska takie jak
Cathy, Deejay, Diego, Gray itp

Wyjątki:
Gina, Gracie, Jane, Priscilla itp

Preetam Reddy Pothala
źródło
Twoje pytanie jest naprawdę niechlujne. Proszę wyjaśnić dla każdej nazwy, dlaczego należy ją wykluczyć / nie wykluczyć.
Máté Juhász
jeśli zobaczysz imię Cathy, y jest na ostatniej pozycji. W Deejay j i y zajmują 4 i 6 pozycję. W Diego g jest na 4 pozycji, podobnie jak Gray, więc muszę odfiltrować takie nazwiska. W nazwach Gina Grace G zajmuje pierwszą pozycję. W Jane J jest na pierwszej pozycji, aw Priscilli P jest na pierwszej pozycji, dzięki czemu mogą być na liście. Mam listę ponad 60 tysięcy nazwisk.
Preetam Reddy Pothala
Co to jest filtrowanie? Masz na myśli usunięcie? Czy to nazwa na komórkę? Czy w komórce jest tylko jedna nazwa?
Dave
Mam na myśli skopiowanie ich na inny arkusz. Tak, jedna nazwa na komórkę.
Preetam Reddy Pothala

Odpowiedzi:

0

Nie wiem, jak to robisz za pomocą formuły arkusza roboczego, ale ponieważ nie masz odpowiedzi, VBa to zrobi

Option Explicit
Sub WalkThePlank()

Dim column As String
column = "A"                      'Update this to ye starting col

Dim row As Integer
row = 1                             'Aye cap'an, this be your first row

Dim badLetters As String
badLetters = "gjpqy"               'piracy! Enter the scurvy seadog letters you don't want as a complete word

'don't touch below or be fed to the sharks

Do While Range(column & row).Value <> ""

    Dim name As String
    name = Range(column & row).Value

    Dim i As Integer
    For i = 0 To Len(badLetters)
        Dim c As String
        c = Mid(badLetters, i + 1, 1)
        If InStr(1, name, c) > 0 And c <> "" Then
            Range(column & row).Value = ""
            Exit For
        End If


    Next i

    row = row + 1

Loop    
End Sub

Jak dodać VBA w MS Office?

Pamiętaj, że nie ma funkcji cofania, więc najpierw zapisz kopię !!

Przed

wprowadź opis zdjęcia tutaj

Po

wprowadź opis zdjęcia tutaj

Dave
źródło