Formato condicional de Excel para fechas & tiempo: fórmulas y reglas

  • Compartir Este
Michael Brown

Si eres un visitante habitual de este blog, probablemente te habrás fijado en algunos artículos que tratan diferentes aspectos del formato condicional de Excel. Y ahora vamos a aprovechar estos conocimientos y crear hojas de cálculo que diferencien entre días laborables y fines de semana, resalten los días festivos y muestren una fecha límite o un retraso próximos. En otras palabras, vamos a aplicar el formato condicional de Excel a las fechas.

Si tiene conocimientos básicos de fórmulas de Excel, es muy probable que esté familiarizado con algunas de las funciones de fecha y hora, como AHORA, HOY, FECHA, DÍA DE SEMANA, etc. En este tutorial, vamos a llevar esta funcionalidad un paso más allá para formatear condicionalmente fechas Excel de la forma que desee.

    Formato condicional de fechas en Excel (reglas incorporadas)

    Microsoft Excel proporciona 10 opciones para dar formato a las celdas seleccionadas basándose en la fecha actual.

    1. Para aplicar el formato, basta con ir a la sección Inicio tab> Formato condicional> Resaltar reglas de celda y seleccione Una fecha .

    2. Seleccione uno de los opciones de fecha de la lista desplegable de la parte izquierda de la ventana, desde el mes pasado hasta el próximo.
    3. Por último, elija uno de los formatos predefinidos o configure su formato personalizado eligiendo diferentes opciones en el botón Fuente , Frontera y Rellene Si la paleta estándar de Excel no es suficiente, siempre puede hacer clic en el botón Más colores... botón.

    4. Haga clic en OK y disfruta del resultado : )

    Sin embargo, esta forma rápida y directa tiene dos limitaciones importantes: 1) sólo funciona para las celdas seleccionadas y 2) el formato condicional se aplica siempre en función de la fecha actual.

    Fórmulas de formato condicional de Excel para fechas

    Si desea resaltar celdas o filas enteras basado en una fecha de otra celda o crear reglas para mayores intervalos de tiempo (es decir, más de un mes a partir de la fecha actual), tendrá que crear su propia regla de formato condicional basada en una fórmula. A continuación encontrará algunos ejemplos de mis formatos condicionales favoritos de Excel para fechas.

    Cómo resaltar los fines de semana en Excel

    Lamentablemente, Microsoft Excel no dispone de un calendario integrado similar al de Outlook. Veamos cómo puedes crear tu propio calendario automatizado con muy poco esfuerzo.

    Cuando diseñe su calendario de Excel, puede utilizar la función =DATE(año,mes,fecha) para mostrar los días de la semana. Simplemente introduzca el año y el número del mes en algún lugar de su hoja de cálculo y haga referencia a esas celdas en la fórmula. Por supuesto, podría escribir los números directamente en la fórmula, pero no es un método muy eficaz porque tendría que ajustar la fórmula para cada mes.

    La siguiente captura de pantalla muestra la función DATE en acción. Utilicé la fórmula =FECHA($B$2,$B$1,B$4) que se copia en la fila 5.

    Sugerencia: Si desea mostrar sólo los días de la semana como se ve en la imagen anterior, seleccione las celdas con la fórmula (fila 5 en nuestro caso), haga clic con el botón derecho y elija Formato de celdas.> Número> Personalizado En la lista desplegable Tipo seleccione dddd o ddd para mostrar los nombres de los días completos o abreviados, respectivamente.

    Su calendario Excel está casi terminado, y sólo necesita cambiar el color de los fines de semana. Naturalmente, no va a colorear las celdas manualmente. Haremos que Excel formatee los fines de semana automáticamente creando una regla de formato condicional basada en la variable ENTRE SEMANA fórmula.

    1. Comience seleccionando el calendario de Excel en el que desea sombrear los fines de semana. En nuestro caso, se trata del intervalo $B$4:$AE$10. Asegúrese de iniciar la selección con la tecla 1ª columna de fecha - Colum B en este ejemplo.
    2. En el Inicio haga clic en Menú Formato condicional> Nueva regla .
    3. Cree una nueva regla de formato condicional basada en una fórmula como se explica en la guía enlazada anteriormente.
    4. En el " Formatear los valores en los que esta fórmula es verdadera" introduzca la siguiente fórmula WEEKDAY que determinará qué celdas son sábados y domingos: =WEEKDAY(B$5,2)>5
    5. Haga clic en el botón Formato... y configure su formato personalizado cambiando entre los botones Fuente , Frontera y Rellene y jugando con diferentes opciones de formato. Cuando haya terminado, haga clic en el botón OK para previsualizar la regla.

    Ahora, permítanme explicar brevemente el WEEKDAY(número_de_serie,[tipo_de_retorno]) para que pueda adaptarla rápidamente a sus propias hojas de cálculo.

    • En número_de_serie representa la fecha que está intentando encontrar. Introduzca una referencia a su primera celda con una fecha, B$5 en nuestro caso.
    • En [return_type] determina el tipo de semana (los corchetes implican que es opcional). Introduzca 2 como tipo de devolución para una semana que comienza el lunes (1) y termina el domingo (7). Puede encontrar la lista completa de tipos de devolución disponibles aquí.
    • Por último, escribe>5 para resaltar sólo los sábados (6) y los domingos (7).

    La siguiente captura de pantalla muestra el resultado en Excel 2013: los fines de semana aparecen resaltados en color rojizo.

    Consejos:

    • Si en su empresa hay fines de semana atípicos, por ejemplo viernes y sábados, deberá modificar la fórmula para que empiece a contar a partir del domingo (1) y destaque los días 6 (viernes) y 7 (sábado). WEEKDAY(B$5,1)>5 .
    • Si está creando un calendario horizontal (apaisado), utilice una columna relativa (sin $) y una fila absoluta (con $) en una referencia de celda porque debe bloquear la referencia de la fila - en el ejemplo anterior es la fila 5, por lo que introdujimos B$5. Pero si está diseñando un calendario en orientación vertical, debe hacer lo contrario, es decir, utilizar una columna absoluta y una fila relativa, por ejemplo $B5 como puede ver enla siguiente captura de pantalla:

    Cómo resaltar días festivos en Excel

    Para mejorar aún más tu calendario de Excel, puedes sombrear también los días festivos. Para ello, tendrás que enumerar los días festivos que quieres resaltar en la misma hoja de cálculo o en otra.

    Por ejemplo, he añadido los siguientes días festivos en la columna A ($A$14:$A$17). Por supuesto, no todos son días festivos reales, pero servirán a efectos de demostración : )

    De nuevo, abre Formato condicional > Nueva norma En el caso de las vacaciones, va a utilizar MATCH o CONSEJO función:

    • =COUNTIF($A$14:$A$17,B$5)>0
    • =MATCH(B$5,$A$14:$A$17,0)

    Nota: si ha elegido un color diferente para los días festivos, deberá mover la regla de días festivos a la parte superior de la lista de reglas mediante Formato condicional> Administrar reglas...

    La siguiente imagen muestra el resultado en Excel 2013:

    Formatear condicionalmente una celda cuando se cambia un valor a una fecha

    No es un gran problema dar formato condicionalmente a una celda cuando se añade una fecha a esa celda o a cualquier otra celda de la misma fila, siempre y cuando no se permita ningún otro tipo de valor. En este caso, podría simplemente utilizar una fórmula para resaltar los espacios en blanco, como se describe en Fórmulas condicionales de Excel para espacios en blanco y no en blanco. Pero, ¿qué ocurre si esas celdas ya tienen algunos valores, por ejemplo, texto, y desea cambiar el valor de¿color de fondo cuando se cambia el texto a una fecha?

    La tarea puede parecer un poco intrincada, pero la solución es muy sencilla.

    1. En primer lugar, debe determinar el código de formato de su fecha. He aquí algunos ejemplos:
      • D1: dd-mmm-aa o d-mmm-aa
      • D2: dd-mmm o d-mmm
      • D3: mmm-yy
      • D4: mm/dd/aa o m/d/aa o m/d/aa h:mm

      Encontrará la lista completa de códigos de fecha en este artículo.

    2. Seleccione una columna en la que desee cambiar el color de las celdas o de toda la tabla en caso de que desee resaltar filas.
    3. Y ahora cree una regla de formato condicional utilizando una fórmula similar a ésta: =CELL("format",$A2)="D1" En la fórmula, A es la columna con fechas y D1 es el formato de fecha.

      Si su tabla contiene fechas en 2 o más formatos, utilice el operador OR, por ejemplo =OR(celda("formato", $A2)="D1", celda("formato",$A2)="D2", celda("formato", $A2)="D3")

      La siguiente captura de pantalla muestra el resultado de esta regla de formato condicional para fechas.

    Cómo resaltar filas en función de una fecha determinada en una columna determinada

    Suponga que tiene una gran hoja de cálculo Excel que contiene dos columnas de fecha (B y C). Desea resaltar todas las filas que tienen una fecha determinada, digamos 13-mayo-14, en la columna C.

    Para aplicar el formato condicional de Excel a una fecha determinada, es necesario encontrar su valor numérico En primer lugar, como probablemente sabrás, Microsoft Excel almacena las fechas como números de serie secuenciales, empezando por el 1 de enero de 1900. Así, el 1-Ene-1900 se almacena como 1, el 2-Ene-1900 se almacena como 2... y el 13-May-14 como 41772.

    Para encontrar el número de la fecha, haga clic con el botón derecho del ratón en la celda y seleccione Formato Celdas> Número y elija el General Escribe el número que veas y pulsa Cancelar porque realmente no desea cambiar el formato de la fecha.

    Esa era en realidad la mayor parte del trabajo y ahora sólo tienes que crear una regla de formato condicional para toda la tabla con esta fórmula muy simple: =$C2=41772 La fórmula implica que la tabla tiene encabezados y que la fila 2 es la primera fila con datos.

    Una forma alternativa es utilizar la función DATEVALUE fórmula que convierte la fecha al formato numérico en el que está almacenada, por ejemplo =$C2=DATEVALUE("5/13/2014")

    Sea cual sea la fórmula que utilice, tendrá el mismo efecto:

    Formato condicional de fechas en Excel basado en la fecha actual

    Como probablemente sabrá, Microsoft Excel proporciona el HOY() para diversos cálculos basados en la fecha actual. A continuación se muestran algunos ejemplos de cómo puede utilizarlo para formatear condicionalmente fechas en Excel.

    Ejemplo 1. Resaltar fechas iguales, mayores o menores que hoy

    Para formatear condicionalmente celdas o filas enteras basándose en la fecha de hoy, se utiliza la función HOY de la siguiente manera:

    Igual que hoy: =$B2=HOY()

    Mayor que hoy: =$B2>HOY()

    Menos que hoy: =$B2

    La siguiente captura de pantalla muestra las reglas anteriores en acción. Tenga en cuenta que en el momento de escribir HOY era 12-Jun-2014.

    Ejemplo 2. Formatear fechas condicionalmente en Excel en función de varias condiciones

    De manera similar, puede utilizar la función HOY en combinación con otras funciones de Excel para manejar escenarios más complejos. Por ejemplo, es posible que desee que su fórmula de fecha de formato condicional de Excel coloree el campo Factura cuando la columna Fecha de entrega es igual o mayor que hoy PERO desea que el formato desaparezca al introducir el número de factura.

    Para esta tarea, necesitaría una columna adicional con la siguiente fórmula (donde E es su Entrega y F la columna Factura columna):

    =IF(E2>=TODAY(),IF(F2="", 1, 0), 0)

    Si la fecha de entrega es mayor o igual que la fecha actual y no hay ningún número en la columna Factura, la fórmula devuelve 1, de lo contrario es 0.

    A continuación, cree una regla de formato condicional sencilla para el campo Factura con la fórmula =$G2=1 donde G es tu columna adicional. Por supuesto, podrás ocultar esta columna más adelante.

    Ejemplo 3. Destacar las fechas próximas y los retrasos

    Supongamos que tiene un calendario de proyecto en Excel que enumera las tareas, sus fechas de inicio y sus duraciones. Lo que desea es que la fecha de finalización de cada tarea se calcule automáticamente. Un reto adicional es que la fórmula también debe tener en cuenta los fines de semana. Por ejemplo, si la fecha de inicio es el 13-Jun-2014 y el número de días de trabajo (Duración) es 2, la fecha de finalización debería ser el 17-Jun-2014,porque el 14-Jun y el 15-Jun son sábado y domingo.

    Para ello, utilizaremos la función WORKDAY.INTL(fecha_inicio,días,[fin de semana],[vacaciones]) más concretamente =WORKDAY.INTL(B2,C2,1) .

    En la fórmula, introducimos 1 como 3er parámetro, ya que indica el sábado y el domingo como días festivos. Puede utilizar otro valor si sus fines de semana son diferentes, por ejemplo, vie y sáb. La lista completa de los valores de fin de semana está disponible aquí. Opcionalmente, también puede utilizar el 4º parámetro [días festivos], que es un conjunto de fechas (rango de celdas) que deben excluirse del calendario de días laborables.

    Por ejemplo, las reglas de formato condicional basadas en las 2 fórmulas siguientes resaltan las fechas de finalización próximas y recientes, respectivamente:

    • =AND($D2-TODAY()>=0,$D2-TODAY()<=7) - resalte todas las filas en las que la Fecha final (columna D) se encuentre dentro del próximos 7 días Esta fórmula es muy útil para controlar las fechas de vencimiento o los pagos.
    • =AND(HOY()-$D2>=0,HOY()-$D2<=7) - resalte todas las filas en las que la Fecha de finalización (columna D) esté dentro del últimos 7 días Puede utilizar esta fórmula para realizar un seguimiento de los últimos pagos atrasados y otros retrasos.

    He aquí algunos ejemplos más de fórmulas que pueden aplicarse a la tabla anterior:

    =$D2 - resalta todas las fechas pasadas (es decir, fechas inferiores a la fecha actual). Puede utilizarse para dar formato a suscripciones caducadas, pagos atrasados, etc.

    =$D2>HOY() - resalta todas las fechas futuras (es decir, las fechas mayores que la fecha actual). Puede utilizarlo para resaltar los próximos eventos.

    Por supuesto, puede haber infinitas variaciones de las fórmulas anteriores, dependiendo de su tarea particular. Por ejemplo:

    =$D2-TODAY()>=6 - destaca las fechas que se producen en 6 o más días.

    =$D2=HOY()-14 - destaca las fechas de hace exactamente 2 semanas.

    Cómo resaltar fechas dentro de un intervalo de fechas

    Si tiene una larga lista de fechas en su hoja de cálculo, puede que también desee resaltar las celdas o filas que se encuentran dentro de un determinado intervalo de fechas, es decir, resaltar todas las fechas que se encuentran entre dos fechas dadas.

    Puede cumplir esta tarea utilizando de nuevo la función TODAY(). Sólo tendrá que construir fórmulas un poco más elaboradas, como se demuestra en los ejemplos siguientes.

    Fórmulas para resaltar fechas pasadas

    • Hace más de 30 días: =TODAY()-$A2>30
    • De hace 30 a 15 días, ambos inclusive: =AND(TODAY()-$A2>=15, TODAY()-$A2<=30)
    • Hace menos de 15 días: =AND(HOY()-$A2>=1, HOY()-$A2<15)

    La fecha actual y las fechas futuras no se colorean.

    Fórmulas para resaltar fechas futuras

    • Ocurrirá dentro de más de 30 días: =$A2-TODAY()>30
    • Entre 30 y 15 días, ambos inclusive: =AND($A2-TODAY()>=15, $A2-TODAY()<=30)
    • En menos de 15 días: =AND($A2-TODAY()>=1, $A2-TODAY()<15)

    La fecha actual y las fechas anteriores no se colorean.

    Cómo sombrear huecos e intervalos de tiempo

    En este último ejemplo, vamos a utilizar otra función de fecha de Excel - DATEDIF(fecha_inicio, fecha_fin, intervalo) Esta función calcula la diferencia entre dos fechas basándose en el intervalo especificado. Se diferencia de todas las demás funciones que hemos tratado en este tutorial en que permite ignorar meses o años y calcular la diferencia sólo entre días o meses, según se elija.

    ¿No ves cómo podría funcionarte? Piénsalo de otra manera... Supongamos que tienes una lista de los cumpleaños de tus familiares y amigos. ¿Te gustaría saber cuántos días faltan para su próximo cumpleaños? Es más, ¿cuántos días faltan exactamente para tu aniversario de boda y otros eventos que no querrías perderte? ¡Fácil!

    La fórmula que necesita es la siguiente (donde A es su Fecha columna):

    =DATEDIF(HOY(), DATE((AÑO(HOY())+1), MES($A2), DÍA($A2)), "yd")

    El tipo de intervalo "yd" al final de la fórmula se utiliza para ignorar los años y calcular sólo la diferencia entre los días. Para consultar la lista completa de tipos de intervalo disponibles, mire aquí.

    Si olvidas o pierdes esa fórmula tan compleja, puedes utilizar esta otra más sencilla: =365-DATEDIF($A2,TODAY(), "yd") Produce exactamente los mismos resultados, sólo recuerda sustituir 365 por 366 en los años bisiestos : )

    Y ahora vamos a crear una regla de formato condicional de Excel para sombrear diferentes espacios en diferentes colores. En este caso, tiene más sentido utilizar las Escalas de Color de Excel en lugar de crear una regla separada para cada período.

    La siguiente captura de pantalla muestra el resultado en Excel: una escala de gradiente de 3 colores con tonos que van del verde al rojo pasando por el amarillo.

    "Días hasta el próximo cumpleaños" Excel Web App

    Hemos creado esta Excel Web App para mostrarte la fórmula anterior en acción. Sólo tienes que introducir tus eventos en la 1ª columna y cambiar las fechas correspondientes en la 2ª columna para experimentar con el resultado.

    Nota: para ver el cuaderno de ejercicios incrustado, permita las cookies de marketing.

    Si tienes curiosidad por saber cómo crear este tipo de hojas de cálculo Excel interactivas, consulta este artículo sobre cómo crear hojas de cálculo Excel basadas en web.

    Esperamos que al menos uno de los formatos condicionales de Excel para fechas comentados en este artículo te haya resultado útil. Si estás buscando una solución para alguna tarea diferente, te invitamos a enviar un comentario. ¡Gracias por leer!

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.