miércoles, abril 16, 2008

Formato Condicional por bloques.

En un comentario a la nota sobre Formato condicional en Excel – Facilitando la lectura de tablas, un lector proponía un método para señalar filas por bloques. En la nota mostrábamos como poner un fondo de color en una fila basándonos en algún criterio. Por ejemplo, poner un fondo gris en las filas impares, o en cada quinta o sexta fila, etc.
Pero supongamos que tenemos una tabla de ventas ordenada por sucursales y queremos señalar cada fila dónde cambia la sucursal. Es decir, nuestro criterio no sigue un patrón constante. Por ejemplo




Lo que queremos lograr es esto:



Cada vez que cambia el nombre de la sucursal, la fila recibe un fondo de color de manera que sea fácil visualizar dónde sucede el cambio.

Como ya hemos explicado, podemos usar formato condicional con la opción "Fórmula" a condición que esta sea una expresión lógica. Es decir, que de cómo resultado VERDADERO o FALSO. Si el resultado es VERDADERO, se aplica el formato.
Mi lector proponía una fórmula que incluía la función FRECUENCIA. Este función debe utilizarse en fórmulas matriciales y no me parece que pueda funcionar en Formato Condicional (si, mea culpa!, no me tomé el trabajo de comprobar la fórmula).
En esta nota propongo una método más sencillo, usando la función CONTAR.SI.
Ponemos esta fórmula =CONTAR.SI($A$2:A2;A2) en el rango D2:D16



Como pueden apreciar, cada vez que cambia el nombre de la sucursal el resultado es 1. Si convertimos nuestra fórmula a

=CONTAR.SI($A$2:A2;A2)=1

obtenemos VERDADERO cada vez que el nombre de la sucursal aparece por primera vez en nuestra lista.



Esta fórmula la usamos en Formato Condicional para lograr nuestro objetivo



Tenemos que asegurarnos que las referencias a las celdas sean las correctas

=CONTAR.SI($A$2:$A2;$A2)=1

El resultado es el esperado






Technorati Tags:

9 comentarios:

  1. Hola Jorge

    Eres una máquina, muchas gracias por contestar tan rápido la consulta que te hice ayer.

    No te disculpes por no validar el uso de la función FRECUENCIA. Si el tema interesa ya ves que habrá alguien que te lo hará ver. Y si encima atiendes de esta forma tan amable a tus "clientes", les motivas más a que se impliquen.

    Lo dicho, un millón de gracias por el blog y mill millones por la amabilidad.

    Te has ganado con creces un hueco en mi Google Reader.

    Un saludo

    Juan

    ResponderBorrar
  2. Hola y antes que nada gracias por tus blogs.
    Lo que pones es correcto, pero yo utilizo otros formatos condicionales que no exigen celdas auxiliares.
    Si en el ejemplo que pones utilizamos el formato =$A2<>$A1 serviría lo mismo, con la ventaja que si se modifica el orden, también queda resaltado, y permite ver algún fallo de ordenación
    Saludos

    ResponderBorrar
  3. Hola Luka
    gracias por el aporte. Mi modelo no usa celdas auxiliares. Lo que aparece en la nota es sólo para mostrar como funciona la fórmula.

    ResponderBorrar
  4. Hola Jorge gracias por los aportes... te cuento que tengo un pequeño problema, quiza este no sea el tema adecuado pero te explicare lo que quiero hacer: Lei en otra nota como agrupar los datos de una matriz en una sola columna, lo que yo quiero hacer es agrupar los datos de la matriz que va desde a1:i20 en una sola columna, el problema esq cada una de las columnas de esa matriz es un control diario de un proyecto por lo tanto algunos datos se repiten en cada una de las 10 columnas y yo quiero que en la colunma en que los valla a agrupar no esten repetidos y q esten ordenados de menor a mayor... de ante mano gracias y perdon por extenderme tanto.

    ResponderBorrar
  5. Hola
    efectivamente, este no es e lugar adecuado para la consulta. Te sugiero que me consultes a través del mail.

    ResponderBorrar
  6. Hola Jorge, soy Jose
    primeramente gracias por tu blog tan interesante, no puedo lograr este efecto, donde(en que celda) debo poner el formato condicional para logar el efecto del ejemplo?, debo aplicarlo a todas las cldas 1 X 1?
    gracias
    saludos
    saludos desde Mexico.

    ResponderBorrar
  7. Hola José
    tiene que elegir (seleccionar) todo el rango relevante y luego aplicar el formato condicional. Hay que prestar atención a las referencias (cuando poner o no el símbolo $ delante de la referencia a la columna o a la fila de la celda).

    ResponderBorrar
  8. Hola Jorge y felicitaciones por tu Blog

    Me gustaría que me ayudaras con un problemita parecido que tengo, tengo una tabla de inventario, pero me gustaría colorear las filas con la condición de que cambie de color por el texto contenido en la primer columna, muy parecido a lo que tienes en este ejemplo, solo que yo quisiera que se coloreararan p.e. todas las de sucursal 1 del mismo color y las de sucursal 2 de otro, sin importar si están juntas o separadas (es decir si las de las sucursales están intercaladas). Me podrías decir como lo hago??
    Gracias

    ResponderBorrar
  9. Es muy sencillo, tienes que definir una condición para cada sucursal con su respectivo color. Si usas Excel 2003 o anterior estás limitado a tres condiciones, aunque hay rodeos para evitar esta limitación.

    ResponderBorrar

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