sábado, 11 de diciembre de 2010

Como poner un formato condicional a los días festivos de un calendario.

Hace unos días un visitante me dejo un cometario muy interesante: "te agradecería me indicaras que fórmula tengo que poner en formatos condicionales para que me salgan coloreados los festivos". Intente contestarle en el momento, pero como el tema se alargaba, y daba para un nuevo artículo, me puse manos a la obra y este es el resultado, dedicado a "Antonioxr2"

Para hacer lo que propones, la solución es fácil, mediante los formatos condicionales. Una herramienta que trae EXCEL, y que en las versiones 2007 y 2010, lo "petan". Es una herramienta desconocida, y que te permitirá crear no sólo modelos muy espectaculares, sino útiles cuando tienes que manejar mucha información, te ayuda a segmentar la información visualmente. Pero vamos a lo que vamos, como colorear unas fechas determinadas. 
  El modelo lo puedes descargar en flashforward-financiero.es. Es válido para versiones 2007 o superiores.
 En el modelo que podéis descargar, tiene dos hojas. La "Hoja 1" con un trozo de calendario, sólo dos meses, suficientes para el ejemplo.
Y en la "Hoja 2", los días festivos con su descripción, he añadido algunas fiestas más en los meses de enero y febrero, para que el resultado se algo mas espectacular y además pongo mi cumpleaños como festivo, que dejó caer que admito regalos y donativos.











Este es el punto de partida.










De cero a "ya está" en 6 pasos.

El procedimiento lo podéis seguir en el gif animado o en el video tutorial. Pero te detallo los subprocesos de este procedimiento, y son los siguientes:
1. Dar nombre al rango que contiene las fechas. Eso no es necesario si las celdas que contiene los festivos estuviesen en la misma hoja, si no es así hay que darle un nombre al rango
2. Situarte en la esquina superior izquierda del rango a aplicar, el rango condicional. Este es un truco muy conveniente, ya que la introducción de los formatos condicionales mediante fórmulas, y su aplicación posterior al resto de celdas, funciona como copiar formatos y fórmulas, con lo que hay que tener siempre presente 3 parámetros, donde te sitúas para introducir la fórmula del formato condicional, las referencias de celda que contenga la fórmula si son absolutas o relativas y el rango final al que quieres aplicar ese formato condicional.
3. Acceder al módulo de "Formato condicional "> "Administrar reglas… "> "Nueva regla…"> "Utilizar una fórmula que determine las celdas para aplicar formato. ". 
4. Introducir la fórmula: =NO( ESERROR( COINCIDIR( B8; fiestas; 0 ) ) ). Es unafórmula con tres funciones anidadas, aunque se escribe de derecha a izquierda, la explicación ha de buscarse de derecha a izquierda, del origen del datos a las sucesivas transformaciones. El origen del dato, es comparar la celda activa con la lista de días festivos, eso lo haremos con COINCIDIR, luego transformamos ese resultado en Verdadero o FALSO, 1 o 0, y por último nos aseguramos de que si es festivo el resultado de la fórmula es VERDADERO, para que así aplique el formato que elijamos. Veamos en detalle estas funciones: 
  • COINCIDIR: toma el valor de la celda actual, y busca si está en el rango "fiestas", si coincide exactamente con alguna de las fechas, entonces el valor que devuelve la función es en que posición esta, y si no está en la lista de fiestas devuelve el valor de error. Es importante que dejes como referencia relativa la celda B8, pulsa la tecla F4, para que dejar como relativo filas y columnas.  
  • ESERROR: esta función determina si hay error o no en la fórmula que pretendes analizar, y devuelve como único valores FALSO o VERDADERO, (FALSO=no hay error, VERDADERO=hay error). Al aplicar esta función al resultado anterior, lo que haces es condicionar el valor del resultado a sólo dos alternativas o "error = VERDADERO = es que no es fiesta" o "no error = FALSO" = r es que es fiesta. 
  • NO: esta función cambia FALSO por VERDADERO y viceversa. Como para que se aplique el formato condicional, el resultado de la fórmula debe ser VERDADERO, y las fiestas las identificamos como error falso, la función NO, nos cambia el valor, y de esta forma, comprueba cada fecha si es verdadero, fiesta, y pondrá un formato diferente, si es falso, no hace nada.  
5. Diseñas el formato que quieres que aparezca, color, tipo letra negrita, cursiva, grande, pequeña, recuadros, etc. 
6. Tienes que aplicar este formato a todas las celdas que quieras. Y ya está.




     














    Espero que sea útil el tutorial, y si no escribe un comentario, y lo iremos mejorando, no te llevará mucho tiempo y en cuanto pueda te contestaré. Y como otras veces puedes descargar el fichero ejemplo gratuitamente en la web: para Excel 2010.

    3 comentarios:

    1. Hola. Gracias por tan ilustrativa explicacion, me sigue pareciendo muy interesante tu modelo de calendario para adaptarlo a un proyecto, pero para eso necesitaria desplegar todos los meses del año aunque sea de dos en dos. Como hacer que despliegue los siguientes dos meses o los que uno le pida al calendario del año que uno haya seleccionado? Lo del formato condicional creo haberlo entendi, lo voy a practicar y te comentare, saludos y gracias. Fito Morales, elfimo2001@yahoo.com Guatemala, Centro America.

      ResponderEliminar
    2. Me gustaría saber la forma de resaltar en un color los días festivos y en otro color los días sábados y domingos. (también la sintaxis de la formula) Te lo agradezco mucho. un abrazo.

      ResponderEliminar

    Puedes hacer un comentario