Filtre uma coluna por mais de dois valores (“termina com”)

0

Eu realmente preciso da ajuda de vocês, pois quero filtrar palavras que terminam com, por exemplo, .com , .be , .nl , .net ou .org . Eu sei que há uma opção para isso, mas usando essa opção eu só posso filtrar um. Veja:

Maseuquerofiltrarmaisdeum.Parasimplificar,querofiltrarváriaspalavrasqueterminamcom.com,.be,.nl,.netou.org.

Euquerofiltrarisso:

Obrigado rapazes

    
por Mark 09.07.2015 / 16:24

2 respostas

0

Você terá que separar os nomes de domínio em sua própria coluna. Você pode fazer isso com a seguinte fórmula: =RIGHT(A1,LEN(A1)-FIND("@",SUBSTITUTE(A1,".","@",(LEN(A1)-LEN(SUBSTITUTE(A1,".","")))/LEN(".")))) (supondo que o valor da string original esteja em A1)

Além disso, a leitura do tópico relacionado abaixo revelou outra forma mais simples de fazer o mesmo tipo de separação com =TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",LEN(A1))),LEN(A1)))

Você pode copiar isso para todas as suas linhas e usar a ferramenta de filtragem no Excel para selecionar os domínios específicos desejados.

Também sugiro que você use cabeçalhos de coluna para não filtrar usando uma linha de dados como cabeçalhos de coluna.

Para fornecer sua resposta, usei algumas informações da resposta sobre este tópico: link

    
por 09.07.2015 / 16:53
0

Usar essa macro permitirá que você supere a restrição do AutoFiltro :

Sub FilterByHand()
    Dim N As Long, t As String
    Dim r As Range, i As Long
    Const domainList As String = "|com|net|org|be|nl|"
    N = Cells(Rows.Count, "A").End(xlUp).Row
    For i = 2 To N
        Set r = Cells(i, "A")
        t = "|" & Mid(r.Value, InStrRev(r.Value, ".") + 1) & "|"
        If InStr(1, domainList, t) = 0 Then r.EntireRow.Hidden = True
    Next i
End Sub
    
por 09.07.2015 / 17:05