Determinar si una fecha está entre otras fechas (Microsoft Excel)
Johna necesita determinar si una fecha en particular está entre otras dos fechas. Por ejemplo, es posible que deba determinar si el 8 de noviembre de 2018 es entre el 1 de agosto de 2018 y el 31 de julio de 2019. Está tratando de averiguar la fórmula que tomará esta determinación.
En realidad, hay una amplia gama de fórmulas que puede utilizar, desde las más cortas hasta las muy largas. Sin embargo, en este consejo me centraré en los enfoques de fórmulas más breves. Antes de hacerlo, es bueno recordar que las fechas (y horas) se almacenan internamente en Excel como números. La parte de la fecha antes del punto decimal (la parte entera del número) es el número de serie de la fecha, y la parte a la derecha del lugar decimal es la hora.
Dado que las fechas y horas se almacenan como números, se convierte en una tarea relativamente fácil simplemente comparar los números para determinar cuál es mayor o menor y si algo está entre el mayor y el menor. Por ejemplo, supongamos que tiene su fecha de inicio (1 de agosto de 2018) en la celda A1 y su fecha de finalización (31 de julio de 2019) en la celda A2. Puede colocar la fecha para verificar en la celda D1 y usar la siguiente fórmula:
=IF(AND(D1>=A1,D1<=A2),"Yes","No")
La fórmula comprueba si la fecha en D1 es mayor o igual que A1 y menor o igual que A2. Solo si se cumplen esas dos condiciones, se devuelve «Sí»; de lo contrario, se devuelve «No». (Ver figura 1)
Figura 1. Comparación de números para determinar cuál es mayor o menor y entre mayor y menor.
Si cree que las fechas incluyen horas, entonces puede ajustarlas eliminando la parte del número de serie que representa la hora:
=IF(AND(TRUNC(D1,0)>=TRUNC(A1,0),TRUNC(D1,0)<=TRUNC(A2,0)),"Yes","No")
Si en realidad está comparando cadenas de texto y fechas de Excel no reconocidas, deberá usar la función VALOR FECHA para convertir las cadenas en fechas:
=IF(AND(DATEVALUE(D1)>=DATEVALUE(A1),DATEVALUE(D1)<=DATEVALUE(A2)),"Yes","No")
El resultado de usar la función DATEVALUE sería similar a la siguiente figura: (Ver Figura 2.)
Figura 2. Comparación de cadenas de texto utilizando la función DATEVALUE para convertir cadenas en fechas.
Cada una de las fórmulas, hasta ahora, ha sido la misma fórmula básica; lo único diferente entre ellos es la adición de funciones adicionales para compensar las características de cómo se almacenan las fechas en las celdas. Para una forma completamente diferente de determinar si una fecha está entre otras dos fechas, puede usar el siguiente enfoque de fórmula:
=IF(D1=MEDIAN(D1,A1,A2),"Yes","No")
Dado que la función MEDIANA se calcula usando tres números, siempre devuelve el número que está entre el número más bajo y el más alto. Esto significa que si D1 está realmente entre los otros dos, siempre se devolverá; si D1 no está entre los otros dos, se devolverá uno de los otros.
Curiosamente, si reorganizó un poco sus datos para que los tres valores fueran adyacentes entre sí (por ejemplo, moviendo la fecha de comparación de D1 a A3), entonces podría reemplazar las tres referencias de celda separadas con un rango de las tres celdas , haciendo la fórmula aún más corta:
=IF(A3=MEDIAN(A1:A3),"Yes","No")
La ventaja de utilizar el enfoque MEDIANO para el enfoque AND es que no necesita preocuparse por cuál de los valores del rango (A1 o A2) es la fecha de inicio o finalización de la comparación; la función MEDIANA lo ordena todo. (Vea la figura 3.)
Figura 3. Comparación de valores usando la función MEDIAN.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (12742) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.