Forum Discussion
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
- SergeiBaklanDiamond Contributor
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).
- srdobraisBrass Contributor
- srdobraisBrass Contributor
KellyPoling Lo siento es en Español. (;¬)]>
PasosOperaciónObservaciones
paso 1 Insertar fila en A1 Selecciona 1:1 y presiona Ctrl+[+] "Signo de suma" paso 2 Añade nombre de columna En A1 escribe el nombre "Auxiliar" paso 3 Selecciona A2 paso 4 Convierte en Tabla Excel Crtl + (signo de suma "+") paso 5 Verifica casilla tiene encabezados = True paso 6 Aceptar paso 7 Asigna nombre a la tabla En la pestaña Diseño Tabla => Sección Propiedades => Casilla de nombre (MiTabla) paso 8 Añade culumna auxiliar En la celda B1 escribe Auxiliar paso 9 EScribe fórmula en B2 =SI(ESNUMERO(IZQUIERDA([@TablaDatos];1)*1);"TxtAux "&[@TablaDatos];[@TablaDatos]) paso 10 Crear consulta En la pestaña Datos => Obtener y Transformar => Desde una Tabla o Rango paso 11 Se abre ventana Power Query paso 12 Seleciona 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 13 Dividir columna de no número a número paso 14 Selecciona columna Auxiliar.2 paso 15 Dividir 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 16 Cerrar y cargar en paso 17 Selecciona Tabla => Misma Tabla => celda D1 paso 18 Ahora Tu sabrás que quieres hacer con los datos" paso 19 Si añades nuevos registros a MiTabla paso 20 Selecciona cualquier celda de MiTabla2 paso 21 Con el botón izquierdo del Mouse Y selecciona Actualizar paso 22 Y "La magia ocurre"