Escrever vários dados em uma única célula

O que eu quero fazer é algo bem simples, porém não estou conseguindo encontrar um forma mais inteligente de se fazer, por isso vim atrás de uma “LUZ” aqui no fórum para resolver este problema.

O que eu quero fazer é basicamente pegar dados que estão em várias linhas e colocar dentro de uma única célula separando-as por um espaço (" "). Somente isso.

Exemplo:
Após utilizar uma tabela dinâmica, eu obtenho os seguintes dados:

Título
ConteúdoA
ConteúdoB
ConteúdoC
ConteúdoD
ConteúdoE
ConteúdoF
ConteúdoG

Seria muito fácil utilizar o E comercial (&) seguido de aspas (" “) para juntar esses dados ou até mesmo o “CONCATENAR”, porém a forma de fazer isso seria muito manual, pois a cada nova célula selecionada eu teria de usar o espaço (” "). Como exemplo abaixo:

Suponhamos que todos esses dados estejam na Coluna A iniciando da primeira célula em diante:

A fórmula seria a seguinte:
=A1 & " " & A2 & " " & A3 & " " & A4…

O resultado seria:

Título ConteúdoA ConteúdoB ConteúdoC ConteúdoD…

O mesmo aconteceria com a fórmula CONCATENAR:

=CONCATENAR(A1;" “,A2;” “;A3;” ";A4;…

O resultado seria:

Título ConteúdoA ConteúdoB ConteúdoC ConteúdoD…

Para poucas linhas isso é até pode ser viável, porém quando estamos falando de milhares, essa forma não é a mais inteligente, visto que demoraria muito para fazer todo este processo, o que procuro é saber se há alguma forma de unificar todos esses dados em única célula separando-as por um espaço, mesmo que com limitação, por exemplo 500 linhas por vez, isso já ajudaria muito. Desde já agradeço a quem puder me ajudar com este problema.

Boas, experimente algo deste género:
=UNIRTEXTO(" ";VERDADEIRO;A1:ÍNDICE(A:A;MÁXIMO((A:A<>"")*(LIN(A:A)))))

Esta fórmula vai unir o texto, desde a célula A1, até à ultima célula com valor na coluna A.
Assim não precissa ficar alterando a fórmula sempre que adicionar um novo valor.

Ps. Para se verificar as mudanças, basta calcular as fórmulas utilizando a tecla “F9”

Muito obrigado pela ajuda Afonso, mas a fórmula não funcionou e eu não sei o porquê, talvez seja porque eu trabalhe com números, mas mesmo convertendo os números para texto, não foi possível.

O que eu preciso unificar, é algo semelhante à isso:

WTLB000001
123456789123456
123456789123457
123456789123458
123456789123459
123456789123450
123456789123451
123456789123452
123456789123453
123456789123454
123456789123455

De modo que todos todos fiquem na mesma linha separados apenas por um espaço, quando eu jogo a fórmula que você me enviou, parece que o excel não consegue identificar o tipo de dado, por mais que eu mude o tipo de dado, alterando de número para texto, o erro continua aparecendo.

Qual a versão do seu Office?

Então, a versão do meu é o Office Professional Plus 2016.

Pelas pesquisas que eu fiz em outros fóruns a função “UNIRTEXTO” não está disponível para esta versão, a função “UNIRTEXTO” está disponível para outras versões e principalmente para quem tem a assinatura do Office 365. O que seria uma tentativa comercial da Microsoft para fazer com que mais pessoas assinem o Office 365.

Enfim…

Lendo em outros fóruns encontrei a seguinte solução:

Um código VBA que imita a função UNIRTEXTO, achei muito interessante e consegui resolver o que queria apenas modificando o código base desta função. Irei deixar o link para quem quiser conhecer:

Neste link está tudo bem explicado.

Obs.: A função permite unificar dentro de uma única célula até 2048 células com espaçamento entre elas.

1 Curtida

@janderson.c, Boa Tarde

A função UNIRTEXTO existe deste a versão 2016 olha este link tem todas as funções nova de Excel 2016

Decio