viernes, 24 de junio de 2022

Crear una columna con una serie de números repetidos en Microsoft Excel

Uno de los trucos que utilizo habitualmente con Microsoft Excel, es la creación de una columna adicional que me permita seleccionar parte de los datos.

Para ello, en ocasiones creo una columna con una serie de números, o textos que se repiten cíclicamente.

El truco consiste en crear la primera copia de la serie, y en la siguiente fila, indicar una referencia relativa a la primera celda de la serie.


Esto nos permite crear listados de números, días de la semana o meses, por ejemplo.

jueves, 23 de junio de 2022

Mantener un orden desconocido en Microsoft Excel

En ocasiones recibimos hojas de cálculo tratadas por otras personas, en las que el orden de las líneas no corresponde a ningún criterio conocido.

Esto puede deberse a que la persona que preparó la hoja de cálculo eliminó las columnas que se usaron para crear el orden, o incluso que ese orden nunca existió, por ejemplo si se trata de datos introducidos manualmente.


Si deseamos reordenar estas líneas y poder regresar posteriormente al orden original, la solución es tan sencilla como crear una columna auxiliar en la que indicaremos números en orden ascendente, para representar el orden original. Esto nos permite volver a ordenar por esta columna y recuperar el orden original.




miércoles, 22 de junio de 2022

Desordenar líneas en un archivo de texto mediante Microsoft Excel

En Microsoft Excel también es posible desordenar las líneas, aunque no existe una forma directa de hacerlo.

En realidad lo que vamos a hacer es, primero crear una lista de números aleatórios en una columna auxiliar, para después ordenar por esta línea.

Es un proceso más lento que el que vimos ayer con Notepad++, y está limitado por el máximo de líneas que soporte la versión del formato que usemos. 

Para el formato *.xls unas 65.000 líneas, y para el *.xlsx algo más de un millón. 



Pueden parecer muchas líneas, pero en ocasiones, las exportaciones de bases de datos incluyen muchas más líneas.

martes, 21 de junio de 2022

Desordenar líneas en un archivo de texto

Muchas herramientas permiten ordenar líneas ya sea numéricamente o alfanuméricamente.

Pero en ocasiones lo que interesa es desordenarlas, o lo que es lo mismo ordenarlas de forma aleatoria. Por ejemplo para analizar una muestra representativa de los datos de un fichero.

Aunque es posible hacerlo con una hoja de cálculo como Microsoft Excel, hoy os muestro como hacerlo con el editor de texto gratuito Notepad++.

Esta herramienta presenta la ventaja de no estar limitada al millón de líneas que permite gestionar como máximo Excel.



lunes, 20 de junio de 2022

Convertir ISBN en EAN

 En el mundo del libro es muy habitual trabajar con dos códificaciones equivalentes.

Por un lado el ISBN (International Standard Book Number), que identifica a cada libro de forma única, mediante 13 dígitos numéricos separados por guiones.

Por el otro se usa el código EAN (European Article Number), que se corresponde con lo mismo 13 dígitos, pero sin separador, y que usualmente se muestra como un código de barras para facilitar la lectura mecánica de los códigos.

En este ejemplo muestro como eliminar los guiones de un ISBN, mediante la hoja de cálculo Microsoft Excel y transformarlos en un código EAN 13.

 


 

martes, 22 de marzo de 2022

Modificar distintas celdas mediante el uso del bucle while en VBA para Microsoft Excel

Podemos movernos por las celdas de Microsoft Excel modificando los valores de la función Cells mediante un bucle while en VBA.

En lugar de utilizar la variable contador del bucle while para modificar el valor de la celda, la usaremos para indicar celdas distintas.



A continuación muestro el código usado. 



El resultado de la ejecución de los bucles es el que se muestra a continuación.



Este es el código listo para copiar.


Sub bucleWhile()


Dim contador

contador = 1


While (contador < 10)

    Cells(contador, contador).Value = contador

'    Range("c4").Value = contador

    contador = contador + 1

Wend


End Sub






lunes, 21 de marzo de 2022

Introducción al uso del bucle while en VBA para Microsoft Excel

Hoy introducimos el bucle más sencillo en lenguaje VBA.

El bucle while permite repetir instrucciones mientras se cumpla una condición.

Esto hace que sea muy sencillo repetir una instrucción un número de veces usando como condición que el valor de una variable sea menor que uno dado.

Eso sí, recordad modificar el valor de la variable, o crearéis vuestro primer bucle infinito.






El código usado es el siguiente


El resultado es tan rápido que parece que solo se ha ejecutado la última instrucción. Sin embargo se ha ejecutado 99 veces.


Es importante darse cuenta de que cuando la variable alcanza el valor de 100 la condición ya no se cumple y el bucle finaliza.




Aquí lo podéis copiar


Sub bucleWhile()


Dim contador

contador = 1


while (contador <100)

    Cells(1, 1).Value = contador

    contador = contador + 1

Wend


End Sub




Es posible modificar el código añadiendo un retardo para ver como se ejecuta el código.

En la imagen una  pausa de 5 segundos en cada  iteración del bucle.