Função Dividir Texto em Colunas no Excel

Função Dividir Texto em Colunas no Excel

Eu tenho uma planilha Excel com linhas de dados conforme mostrado abaixo. Existe um código com o nome do produto e depois um número.

QA32 Product One (Large) 23
AZ63 Product Two 96
PR65 Product Three 149

Como faço para dividir cada campo em uma coluna?

Tentei "dividir o texto em colunas" no Excel usando a opção delimitado e separando por espaços, mas o fato de alguns nomes de produtos terem mais de uma palavra fazia com que alguns números ficassem na coluna errada. Por exemplo,

Code     Name       Number       
QA32    Product      One       (Large)    23
AZ63    Product      Two         96
PR65    Product      Three       149

Este é o resultado desejado:

Code        Name                Number
QA32    Product One (Large)       23
AZ63    Product Two               96
PR65    Product Three             149

A ajuda é apreciada!

Responder1

Use FIND-functionpara determinar a posição do seu primeiro e último espaço. Depois disso, use MID-functionpara dividir seus dados em três partes. Se você conhece a posição dos seus espaços, a divisão é fácil. Encontrar o primeiro espaço também é trivial, pois FINDvai da esquerda para a direita. Infelizmente, não há como dizer ao Excel para pesquisar da direita para a esquerda.

Então a parte difícil é determinar o último espaço! Aqui usamos uma fórmula de matriz.
Para inserir uma fórmula de matriz, cole a fórmula em uma célula e não pressione Enter.
Em vez disso, você pressiona Ctrl+ Shift+ Enter.

{=MAX((MID(A2,ROW(A:A),1)=" ")*ROW(A:A))}

Se feito com sucesso, o Excel acrescentará uma chave inicial e final.


Insira todas as fórmulas nas células fornecidas e useautofill down

A2: seus dados vão aqui
B2: =FIND(" ",A2,1)
C2: =MAX((MID(A2,ROW(A:A),1)=" ")*ROW(A:A)) <-array formula!
D2: =MID(A2,1,B2-1)
E2: =MID(A2,B2+1,C2-B2-1)
F2:=MID(A2,C2+1,LEN(A2))

Tela de resultados
insira a descrição da imagem aqui

Responder2

Se um algoritmo adequado retornar:

  • Código = A primeira palavra
  • Produto = Tudo entre a primeira e a última palavra
  • Número = A última palavra

Então as fórmulas a seguir devem funcionar.

Suponha que seus dados estejam em A1:

Code:     =LEFT(TRIM(A1),FIND(" ",TRIM(A1))-1)
Product:  =TRIM(MID(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)),100,LEN(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)))-198))
Number:   =TRIM(RIGHT(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)),99))

informação relacionada