Combina valores exclusivos de células em uma única linha

0

Veja abaixo a imagem das minhas 3 entradas (colunas A: C) e a saída esperada (coluna D),

Gostaria de listar os valores exclusivos de cada linha como uma saída, separados por uma vírgula.

    
por Ravi Bhesadadiya 31.08.2018 / 10:40

3 respostas

3

Na célula D1 use:

=TRIM(A1&IF(COUNTIF(A1:C1,B1)>1,"",","&B1)&IF(COUNTIF(A1:C1,C1)>1,"",","&C1))

Em seguida, arraste para baixo.

Se você tiver mais colunas, adicione &IF(COUNTIF(A1:C1,C1)>1,"",","&C1) altere o C1 para D1 para uma quarta coluna e para E1 para uma quinta e assim por diante.

Altere também A1:C1 no COUNTIF para se adequar ao intervalo de quantas colunas você pode estar usando.

    
por 31.08.2018 / 11:03
2

Esta simples UDF ajudará você a combinar valores únicos em células separadas por vírgula.

  • Insira este código como Módulo com o relacionado Folha.

    Function CombineUnique(xRg As Range, xChar As String) As String
    
    Dim xCell As Range
    Dim xDic As Object
    Set xDic = CreateObject("Scripting.Dictionary")
    For Each xCell In xRg
        xDic(xCell.Value) = Empty
    Next
    CombineUnique = Join$(xDic.Keys, xChar)
    Set xDic = Nothing
    End Function  
    

Como funciona:

  • Antes de executar este UNF Adicionar Microsoft Tempo de Execução de Scripts usando Ferramentas, Referências na janela do Editor VB.
  • Para obter o resultado desejado, na célula D2 escreva abaixo: Fórmula escrita e preencha.

    =CombineUnique(A2:C2,",")

Observe que ajusta as referências de célula na fórmula            conforme necessário.

    
por 31.08.2018 / 13:11
1

Se você tiver o Office 365 Excel, poderá usar TEXTJOIN como uma fórmula de matriz:

=TEXTJOIN(",",TRUE,IF(COLUMN(A2:C2)=MATCH(A2:C2,A2:C2,0),A2:C2,""))

Sendo uma fórmula de matriz, ela precisa ser confirmada com Ctrl-Shift-Enter em vez de Enter ao sair do modo de edição.

Isso itera e testa se a instância é a primeira e, se for o caso, ela será adicionada à string.

    
por 31.08.2018 / 12:14