lunes, septiembre 30, 2019

Eliminar saltos de línea en celdas de Excel

Excel permite dividir textos ingresado a una celda en varias líneas usando Alt+Enter para separar las entradas. Por ejemplo


Las celdas A2 y A3 contienen cada una seis nombres.Esta técnica, que puede ser visualmente conveniente, genera muchos problemas cuando queramos usar estos datos. Por ejemplo si queremos asignar a cada nombre alguna característica como edad. Para poder hacerlo tenemos que deshacer los saltos de línea para tener cada nombre en  una celda separada.

En este post voy a mostrar como hacerlo con las herramientas de Excel Clásico y como hacerlo con Power Query.

1 - Con Excel Clásico

Seleccionamos el rango o la tabla (y espero que todos mis lectores ya trabajen con Tablas) y activamos Datos-Texto en columnas con la opción Delimitados


En la vista precia podemos ver que cada celda contiene de hecho un solo valor, una cadena de texto con los nombres ingresados a la celda.

En el siguiente paso eliminamos la marca en "Tabulación" (que aparece por defecto), marcamos la opción "Otro" y manteniendo apretada la tecla Ctrl tecleamos "J" (sin las comillas)


En la casilla "Otro" no aparecerá nada. Apretamos "Siguiente" y "Finalizar" y obtenemos

Todo los que nos queda por hacer es transponer las filas 2 y 3 con Copiar-Pegado Especial-Transponer


Luego tendremos que eliminar las filas 2 y 3 y mover los valores de la columna B a continuación del último valor de la columna A.

Procedimiento bastante engorroso pero "soportable" si se trata de algo ocasional. Cuando se trata de operaciones que se repiten varias veces a lo largo del tiempo el camino más práctico es usar Power Query.

2 - Con Power Query

Como siempre, empezamos por crear una consulta a la tabla


Como vemos, también la consulta contiene una tabla con dos registros. En forma similar a la solución anterior vamos a usar Dividir Columna-Por delimitador



En el próximo paso nos espera una sorpresa: Power Query utiliza automáticamente la opción Personalizado y el carácter #(lf). En Opciones avanzadas del formulario señalamos la opción Dividir en--Filas


con este resultado


Para comprobar que no se generarán errores cuando cambie el número de nombres en la celda vamos a agregar dos nombres en la celda de A2 


al actualizar la consulta veremos que los nombres que acabamos de agregar aparecen en la consulta


El paso crítico en esta operación es elegir la opción Dividir en Filas al dividir la columna por delimitador.

Nuevamente vemos las ventajas del uso del Power Query en lo que a transformación de datos se refiere Una vez creado el código podemos usarlo tantas veces como sea necesario sin necesidad de recrear todo el proceso en cada oportunidad. También podemos usar el código creado en otras consultas transformando este consulta en  función (tema de alguna futura nota).

En cuanto a posibilidad de dividir columnas con caracteres especiales las posibilidades no se limitan solamente a lf  (line feed). Otros caracteres especiales en la opción:

  • Tabulador (#tab)
  • Retorno de carro #(cr)
  • Retorno de carro y avance de línea #(cr)#(lf)
  • Espacio de no separación #(00A0)



5 comentarios:

  1. Es una característica muy molesta en Excel (CTRL+enter), así como combinar celdas nos trae muchos inconvenientes; es más, yo quitaría estas opciones de Excel.

    ResponderBorrar
  2. Ctrl+Enter es una de las mejores características de Excel

    ResponderBorrar
    Respuestas
    1. Hola Roger!
      no la llamaría un característica molesta, como señala José Manuel, pero si inconveniente desde el punto de vista del manejo o administración de datos. Como una celda de Excel no puede contener más que un dato, si bien el usuario ve 6 "líneas" por celda, como en nuestro ejemplo, Excel sólo "ve" una. Si quisiéramos adjuntar a cada nombre la edad, por ejemplo, no podríamos hacerlo.

      Borrar
    2. Correcto, no me refiero a la combinacion Alt+Enter sobre la cual trata este artículo, sino a la combinación Ctrl+Enter. La cual es muy efectiva al momento de ingresar datos o formulas repetidas en un rango seleccionado.
      Lo que le falta al excel, es una opción similar a "centrar en selección" pero para celdas verticales, o un rango de celdas de más de una celda y más de una columna. Eso evitaría utilizar las celdas combinadas que si son lo peor que tiene el excel.

      Borrar
    3. Coincido plenamente (no presté atención que José Manuel puso Ctrl+Enter, cuando la nota habla de Alt+Enter).

      Borrar

Nota: sólo los miembros de este blog pueden publicar comentarios.