Forum Discussion

KellyPoling's avatar
KellyPoling
Copper Contributor
Oct 11, 2019

Text To Columns - Separate text from number

How would I convert Text to Columns that are in different lengths to set up a rule that the text in the column would start wehre a new column would be added?

In addition to this, how would I keep the leading number to move to the next column as well?

And how would I keep the leading #0 if the number starts with a 0?

3 Replies

  • SergeiBaklan's avatar
    SergeiBaklan
    Diamond Contributor

    KellyPoling 

    With second question bit easier - just assign Text type to all resulting column (with Text to Columns on 3rd step of the wizard select all columns and assign Text).

     

    With separation is harder, afraid some manual work will be required in any case. First, the logic of separation is not formalized. If, for example, you'd like to separate

    Casillero del Diablo Sauvignon Blanc Reserva 750 ml on 

    Casillero del Diablo | Sauvignon Blanc Reserva | 750 ml

    you can't say that text shall be split on each 3rd and 7th space since for each record this logic is different.

     

    You may wrap all brands and name by apostrophes , e.g Ctrl+H and Replace All Casillero del Diablo on "Casillero del Diablo". With splitting on columns above will be treated as one word. But that could be a lot of work plus punctuation of names is different ( Casillero del Diablo and CasilleroDel Diablo; 750ml and 750 ml).

  • srdobrais's avatar
    srdobrais
    Brass Contributor

    KellyPoling  Lo siento es en Español.  (;¬)]>

    PasosOperaciónObservaciones

    paso 1Insertar fila en A1Selecciona 1:1 y presiona Ctrl+[+] "Signo de suma"
    paso 2Añade nombre de columnaEn A1 escribe el nombre "Auxiliar"
    paso 3Selecciona A2 
    paso 4Convierte en Tabla ExcelCrtl + (signo de suma "+")
    paso 5Verifica casilla tiene encabezados = True 
    paso 6Aceptar 
    paso 7Asigna nombre a la tablaEn la pestaña Diseño Tabla => Sección Propiedades => Casilla de nombre (MiTabla)
    paso 8Añade culumna auxiliarEn la celda B1 escribe Auxiliar
    paso 9EScribe fórmula en B2=SI(ESNUMERO(IZQUIERDA([@TablaDatos];1)*1);"TxtAux "&[@TablaDatos];[@TablaDatos])
    paso 10Crear consultaEn la pestaña Datos => Obtener y Transformar => Desde una Tabla o Rango
    paso 11Se abre ventana Power Query 
    paso 12Seleciona Columna auxiliar   #"Dividir columna por: transición de caracteres"
    = Table.SplitColumn(#"Tipo cambiado", "Auxiliar",
    Splitter.SplitTextByCharacterTransition((c) =>
    not List.Contains({"0".."9"}, c), {"0".."9"}), {"Auxiliar.1", "Auxiliar.2"}),
    paso 13Dividir columna de no número a número 
    paso 14Selecciona columna Auxiliar.2 
    paso 15Dividir columna de número a no número   #"Dividir columna por: transición de caracteres1"
    = Table.SplitColumn(#"Dividir columna por: transición de caracteres",
    "Auxiliar.2", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"Auxiliar.2.1", "Auxiliar.2.2"})
    paso 16Cerrar y cargar en 
    paso 17Selecciona Tabla => Misma Tabla => celda D1 
    paso 18Ahora Tu sabrás que quieres hacer con los datos" 
    paso 19Si añades nuevos registros a MiTabla 
    paso 20Selecciona cualquier celda de MiTabla2 
    paso 21Con el botón izquierdo del Mouse Y selecciona Actualizar 
    paso 22Y "La magia ocurre" 

Resources