Función dividir texto en columnas en Excel

Función dividir texto en columnas en Excel

Tengo una hoja de cálculo de Excel con filas de datos como se muestra a continuación. Hay un código con el nombre del producto y luego un número.

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

¿Cómo divido cada campo en una columna?

Intenté "dividir texto en columnas" en Excel usando la opción delimitada y separando por espacios, pero el hecho de que algunos nombres de productos tuvieran más de una palabra provocó que algunos números estuvieran en la columna incorrecta. P.ej,

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

Este es el resultado deseado:

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

¡Se agradece la ayuda!

Respuesta1

Úselo FIND-functionpara determinar la posición de su primer y último espacio. Después de eso, use MID-functionpara dividir sus datos en tres partes. Si conoces la posición de tus espacios, dividirlos es fácil. Encontrar el primer espacio también es trivial ya que FINDva de izquierda a derecha. Desafortunadamente, no hay forma de decirle a Excel que busque de derecha a izquierda.

¡Así que lo difícil es determinar el último espacio! Aquí usamos una fórmula matricial.
Para ingresar una fórmula matricial, pegue la fórmula en una celda y no presione Enter.
En lugar de eso, presione Ctrl+ Shift+ Enter.

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

Si se hace correctamente, Excel agregará una llave inicial y final.


Inserte todas las fórmulas en las celdas dadas y useautofill down

A2: tus datos van aquí
B2: =FIND(" ",A2,1)
C2: =MAX((MID(A2,ROW(A:A),1)=" ")*ROW(A:A)) <-fórmula de matriz!
D2: =MID(A2,1,B2-1)
E2: =MID(A2,B2+1,C2-B2-1)
F2:=MID(A2,C2+1,LEN(A2))

Pantalla de resultados
ingrese la descripción de la imagen aquí

Respuesta2

Si un algoritmo adecuado debe devolver:

  • Código = La primera palabra
  • Producto = Todo entre la primera y la última palabra.
  • Número = La última palabra

Entonces las siguientes fórmulas deberían funcionar.

Suponga que sus datos están en 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))

información relacionada