Fórmula do Excel: Unir células com vírgulas -

Índice

Fórmula genérica

=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" "&E1)," ",", ")

Resumo

Para juntar vários valores de células com uma vírgula, você pode usar uma fórmula baseada nas funções SUBSTITUTE e TRIM. Você pode usar essa mesma abordagem para concatenar valores em células com qualquer delimitador que desejar. No exemplo mostrado, a fórmula em G5 é:

=SUBSTITUTE(TRIM(B5&" "&C5&" "&D5&" "&E5&" "&F5)," ",", ")

Explicação

Trabalhando de dentro para fora, a fórmula primeiro une os valores das 5 células à esquerda usando o operador de concatenação (&) e um único espaço entre cada valor:

B5&" "&C5&" "&D5&" "&E5&" "&F5

Esta parte da fórmula é irritantemente manual. Para acelerar as coisas, copie & "" & para a área de transferência antes de começar. Em seguida, siga este padrão:

(clique) (colar) (clique) (colar) (clique) (colar)

até chegar à última referência de célula. Na verdade, já passou.

O resultado dessa concatenação (antes da execução de TRIM e SUBSTITUTE) é uma string como esta:

"figs apples "

Em seguida, a função TRIM é usada para "normalizar" todos os espaçamentos. TRIM remove automaticamente o espaço no início e no final de uma determinada string e deixa apenas um espaço entre todas as palavras dentro da string. Isso cuida de espaços extras causados ​​por células vazias.

"figs apples"

Finalmente, SUBSTITUTE é usado para substituir cada espaço ("") por uma vírgula e um espaço (","), retornando o texto como este:

"figs, apples"

Unindo células com outros delimitadores

Para unir células com outro delimitador (separador), basta adaptar o argumento "new_text" dentro de SUBSTITUTE. Por exemplo, para unir células com uma barra, use:

=SUBSTITUTE(TRIM(B7&" "&C7&" "&D7&" "&E7&" "&F7)," ","/")

A saída será semelhante a esta:

limes/apricots/apricots/limes/figs

Função TEXTJOIN

A função TEXTJOIN é uma nova função disponível no Office 365 e Excel 2019. TEXTJOIN permite concatenar um intervalo de células com um delimitador. Com TEXTJOIN, o exemplo acima ficaria assim:

=TEXTJOIN(", ",TRUE,B5:F5)

Macro

Jon Acampora, da ExcelCampus, tem uma macro legal para concatenar um intervalo de células.

Bons links

Macro para concatenar intervalo por Jon Acampora da ExcelCampus

Artigos interessantes...