Dividir texto na função de colunas no Excel

3

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

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

Como dividir cada campo em uma coluna?

Eu tentei o "dividir o texto em colunas" no excel usando a opção delimitada e separando por espaços, mas o fato de que alguns nomes de produtos tinham mais que 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!

    
por LogiKal 19.08.2013 / 17:27

2 respostas

2

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

Então a parte difícil é determinar o último espaço! Aqui nós 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, pressione Ctrl + Deslocar + Enter .

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

Se feito com sucesso, o Excel adicionará um colchete inicial e final.

Insira todas as fórmulas nas células fornecidas e use autofill 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

    
por 19.08.2013 / 18:21
0

Se um algoritmo adequado retornar:

  • Code = A primeira palavra
  • Produto = Tudo entre a primeira e a última palavras
  • Number = A última palavra

Então as seguintes fórmulas 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))
    
por 04.03.2015 / 03:27