Como extrair todas as correspondências parciais no Excel?
Se você deseja extrair todas as correspondências que contêm uma palavra-chave específica de uma coluna e listá-las em uma coluna ou em uma célula separada por um delimitador conforme a captura de tela mostrada abaixo, como você resolveria esta tarefa no Excel?
Extraia todas as correspondências parciais verticalmente com a fórmula
Extraia todas as correspondências parciais em uma única célula com a função definida pelo usuário
Extraia todas as correspondências parciais verticalmente com a fórmula
Para extrair todas as correspondências verticalmente em uma coluna com base em um texto parcial, a seguinte fórmula de matriz pode fazer um favor:
Step1: Copie e cole a fórmula abaixo em uma célula em branco onde deseja colocar o resultado:
Note: Na fórmula acima, A2: A14 é que as células podem conter a palavra-chave da qual você deseja retornar correspondências, C2 contém a palavra-chave, E1 é a célula acima da fórmula.
Step2: Então aperte Ctrl + Shift + Enter teclas simultaneamente para obter o primeiro resultado e, em seguida, arraste a alça de preenchimento para baixo para obter todas as correspondências até que o valor do erro apareça. Por fim, exclua os valores de erro, veja a captura de tela:
Extraia todas as correspondências parciais em uma única célula com a função definida pelo usuário
Se você precisa extrair todas as correspondências em uma única célula e separadas por um delimitador específico, talvez não exista uma fórmula que resolva. Aqui, você precisa aplicar a função definida pelo usuário abaixo:
Step1: Pressione Alt + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
Step2: No Microsoft Visual Basic para Aplicações janela, clique em inserção > Módulo, copie o código a seguir no arquivo Module.
Código VBA: Extraia todas as correspondências parciais em uma única célula
Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function
Step3: Após colar o código, volte para a planilha onde deseja localizar o resultado e digite esta fórmula: =ExtractPartMatch(C2,$A$2:$A$14)e, em seguida, pressione Entrar chave para obter o resultado conforme a imagem mostrada abaixo:
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!