domingo, 27 de diciembre de 2020

Filtrar usando columna auxiliar

En ciertos casos aplicar todos los casos de un filtro puede ser complejo, en ese caso es útil usar una columna auxiliar que se irá rellenando con algún valor indicativo y que posteriormente será por la que se filtre.

Imaginemos que deseamos filtrar los datos de facturación de los clientes de los siguientes códigos postales:

36125
12458
12563
25666
12356
33241

La solución más sencilla podría pasar por tener una columna auxiliar en la que se indique un valor para los campos filtrados y otro para los que no se desee filtrar.

Otra posibilidad es que alguien esté punteando un listado contra otro documento y lo marque en una columna auxiliar.

Yo suelo usar una columna titulada Filtrar o Revisar, y poner como datos si o no.



Nota: Nunca es buena idea asumir que una celda vacía es un dato correcto. Por ejemplo asumir que no queremos filtrar las filas con la casilla vacía, ya que es fácil que una casilla no se haya cubierto, y aún esté pendiente decidir si se debe filtrar o no.

domingo, 13 de diciembre de 2020

Copiar formato de una celda a varias celdas o regiones

 La opción de copiar formato, tiene una forma de uso que mucha gente desconoce.

Es posible copiar el formato de una celda y pegarla en varias celdas consecutivamente, sin que estas tengan que ser consecutivas ni tener que volver a pulsar el botón de copiar formato.

El proceso es el mismo, pero en lugar de pulsar una vez el botón de copiar formato, es preciso hacer doble click en el mencionado botón.

Esto hace que hasta que se vuelva a pulsar el botón de copiar formato, se pegarán los formatos en todas las celdas o regiones que se seleccionen.



Copiar formato de una celda a varias celdas consecutivas (región, fila o columna)

 En el post "Copiar formato de una celda a otra" se explicaba como copiar en un único paso todos los formatos de una celda a otra.

También es posible aplicar a más estos formatos en un único paso a más de una celda, con la condición de que todas las celdas sean consecutivas, como puede ser una fila o una columna completas, o una selección de celdas.





Copiar formato de una celda a otra

Una de las herramientas que suele incluir cualquier herramienta ofimática, y más concretamente Microsoft Excel, e la opción de copiar formato.

En su forma de funcionamiento más sencilla, permite pulsando el botón copiar formato, aplicar todos los formatos que tenga la celda actual a la celda destino.

Esto permite aplicar en un único paso, tipos de letra, alineaciones, tamaño de fuente, colores de fondo y de primer plano, etc. 

Es una herramienta que puede ahorrar muchos pasos improductivos a la hora de formatear un documento.

El proceso es el siguiente.





sábado, 5 de diciembre de 2020

Copiar datos de una columna filtrada a otra, en las mismas filas, en una hoja de cálculo, aplicando lógica inversa.

En el post "Copiar datos de una columna filtrada a otra, en las mismas filas, en una hoja de cálculo, usando referencias a celdas." mostraba como pegar datos filtrados en una nueva columna conservando las filas originales.

En este artículo muestro otra opción para obtener el mismo resultado.

En este caso aplicaré la lógica inversa del filtro, para eliminar lo datos no deseados.

En el ejemplo había dos columnas con los mismos datos, en la primera se mostraban los datos que contenían el valor 608 y en la segunda los que contenían el 12, obteniendo de esta forma los datos que contenían ambas secuencias de números en cualquier orden.

Este tipo de filtros solo se puede aplicar sobre datos de tipo texto, no obre datos numéricos, como es este caso. 

Para solventar este inconveniente, se transforma el número en su equivalente en texto mediante la fórmula =TEXTO(A2;"000000000").

Una vez obtenida una copia de los datos originales en la columna de destino, se crea una nueva columna con la fórmula TEXTO, sobre la que se aplican dos filtros consecutivamente.

Primero se seleccionan las filas que no contienen 608, algunas de las cuales contendrán 12 pero al no contener ambos, no nos interesan, por lo que procedemos a eliminar las celdas visibles de la columna de destino F.

En este punto todos los datos de la columna F contienen el 608, y algunos de ellos el 12.

Se vuelve a aplicar el filtro, en este caso mostrando los datos que "no conienen" en valor 12.

Nuevamente se procede a eliminar todos los datos de las celdas visibles de la columna F. Quedando de esta forma en la columna F, de los dato que contenían el 608 solo los que también contienen el 12.



Copiar datos de una columna filtrada a otra, en las mismas filas, en una hoja de cálculo, usando referencias a celdas.

 En Ocasiones puede ser interesante pegar el resultado de un filtro en una columna diferente, pero manteniendo las mismas filas que los datos originales.

Lo primero que se nos ocurre es copiar los datos filtrados, seleccionar la columna destino y pegarlos.

En este caso Microsoft Excel lo que hará es pegar los resultados de forma contínua, sin mantener las filas originales.


Para mantener los datos pegados en las mismas filas, podemos adoptar tres enfoques diferentes.

1 - Aplicar la "lógica inversa". Esto implica pegar todos los datos y eliminar los que no cumplan en criterio del filtro. Este es un método cómodo, pero en ocasiones puede ser complejo entender cual es el criterio a aplicar para eliminar los datos sobrantes.

2 - Pegar los valore mediante código VBA.

3 - Usar una referencia a la primera celda filtrada y arrastrar o copiar y pegar la fórmula. En este caso la fórmula solo se pega en las celda visibles, generando el efecto deseado.

En la siguiente animación se ve la secuencia completa.

Al acabar, para evitar las fórmulas se copian los datos de la nueva columna y se pegan como valores, de esta forma se eliminan las fórmulas, dejando solo el resultado.



Truco para aplicar dos filtros, simultáneamente, sobre los mismos datos en Microsoft Excel

Si bien es posible aplicar varios filtros de texto a una columna en una hoja de cálculo como Microsoft Excel o Libreoffice Calc, no siempre resuelve nuestro problema.

En este ejemplo se dispone de un listado de teléfonos móviles entre los que está el que buscamos.

Dos personas han escuchado el número pero no estaban atentas, por lo que solo recuerdan alguno números, aunque no en el orden en el que están.

Uno de los usuarios recuerda que el número de teléfono contenía la secuencia 608 y el otro recuerda que contenía 12, pero ninguno de los dos tiene claro que secuencia iba antes de la otra.

Si se supiese el orden, se podría solucionar con un filtro del tipo 608*12, pero en este caso no es posible.

El truco consiste en duplicar la columna de datos, y aplicar cada filtro a una columna. De esta forma, la hoja de cálculo, aplicará una o lógica a ambos filtros. Este mismo resultado se podría obtener utilizando filtros avanzados.

En la imagen, muestro la secuencia completa.