Descomponer una columna en dos, alternando celdas

Entrada núm: 21 of 24 de la serie Análisis de datos

A veces hay que reestructurar datos

Las entradas que siempre gustan más a los lectores de esta web son aquellas que se basan en casos reales del día a día del trabajo de los usuarios de Excel. Y no es extraño que esto sea así, pues por esta razón el así llamado “método del caso” tiene tanto éxito en escuelas de negocios e instituciones formativas de tipo pomposo. Bromas aparte, la consulta original la realizó una usuaria de YouTube llamada María.

Descripción de la tarea y solución en Excel

La tarea que María necesita realizar se podría describir como descomponer una columna en dos, alternando celdas, es decir, se desentrelazará la columna original copiando los datos en filas impares de forma consecutiva uno debajo del otro en la primera columna de la solución, y se hará lo mismo con los datos de las celdas pares en la segunda columna de la solución.

Siempre me gusta tratar los problemas de hoja de cálculo separadamente desde los puntos de vista de las utilidades nativas, y de la programación con macros o VBA. Debe quedar claro que las soluciones que propongo para ambos casos no son únicas, ni mucho menos. Son, por así decirlo, las primeras que me han venido a la cabeza pues otra ventaja de enfrentarse a casos reales, no preparados aposta, es que suelen dar espacio para la creatividad y suelen admitir múltiples enfoques a la hora de buscar la solución. El siguiente video contiene todo el proceso en Excel.

El código de la macro desentrelazar() es el siguiente:

Prueba de la solución en LibreOffice Calc

Como sabéis por otros artículos anteriores, un tema que me interesa cada día más es el funcionamiento comparado entre Excel y LibreOffice Calc, la hoja de cálculo que más se le podría acercar en funcionalidades y capacidades a Excel, aunque digo acercar aclarando que todavía queda muy distante. Sin embargo he observado grandes mejoras en estos últimos tres o cuatro años. Estas mejoras siguen produciéndose y hace poco he visto anunciado que uno de los proyectos de Calc para este año 2017 es la incorporación de una cinta, o “ribbon” para los menús al estilo del Office de Microsoft. Por lo demás, el problema más serio que yo le veo a Calc es la dificultad tremenda que implica el manejo del Basic que usa en programación y el esquema completamente diferente de manejo de objetos. Los resultados del grabador de macros de Excel nos ayudan a todos a aprender VBA y lo hacen con gran eficacia. Pero la grabadora de macros de LibreOffice Calc sigue arrojando galimatías difícilmente entendibles para el no iniciado. Tengo entendido también que otra de las lineas de trabajo de Calc para las próximas versiones es la incorporación real de python como lenguaje de programación editable con herramientas propias. Digo “real” porque ya se pueden programar macros en python para LibreOffice, pero no se pueden editar nativamente, no hay modelo de objetos integrado, y hay que andar copiándolas en el directorio en el que tienes el archivo, enlazando, en fin, un tostón solo apto para expertos. En cualquier caso, este ejemplo de María me ha venido muy bien para comprobar que el grado de entendimiento entre Excel y Calc va subiendo. Como podréis ver en el video, no he tendio ningún problema en repetir los mismos pasos e incluso la macro ha funcionado a la perfección.

Y el código de la nueva macro para añadir las “x” en las celdas vacías es:

 

Series Navigation<< Seminario sobre auditoría de fórmulasQuitar caracteres no deseados de un texto en Excel >>

Comments

So empty here ... leave a comment!

Deja tu comentario aquí:

Sidebar



A %d blogueros les gusta esto: