domingo, 14 de junio de 2020

EXCEL: Obtener el próximo evento programado

Excel formula: Get next scheduled event

Fórmula genérica

{=MIN(SI((range>=HOY()),range))}

Explicación

Para obtener el próximo evento programado de una lista de eventos con fechas, puede usar una fórmula de matriz basada en las funciones MIN y HOY para encontrar la próxima fecha, e INDICE y COINCIDIR para mostrar el evento en esa fecha. En el ejemplo que se muestra, la fórmula en G6 es:
{=MIN(SI((date>=HOY()),date))}
Donde "fecha" es el rango con nombre D5: D14.
Nota: esta es una fórmula de matriz y debe ingresarse con Control + Shift + Enter.

Cómo funciona esta fórmula

La primera parte de la solución utiliza las funciones MIN y HOY para encontrar la "próxima fecha" basada en la fecha de hoy. Esto se hace filtrando las fechas a través de la función SI:
SI((date>=HOY()),date)
La prueba lógica genera una matriz de valores VERDADERO / FALSO, donde VERDADERO corresponde a fechas mayores o iguales a hoy:
{FALSO;FALSO;FALSO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO}
Cuando un resultado es VERDADERO, la fecha se pasa a la matriz devuelta por SI. Cuando un resultado es FALSO, la fecha se reemplaza por el booleano FALSO. La función SI devuelve la siguiente matriz a MIN:
{FALSO;FALSO;FALSO;43371;43385;43399;43413;43427;43441;43455}
La función MIN luego ignora los valores FALSO y devuelve el valor de fecha más pequeño (43371), que es la fecha 28 de septiembre de 2018 en el sistema de fechas de Excel.

Obtener el nombre de la película

Para mostrar la película asociada con la "próxima fecha" ", utilizamos INDICE y COINCIDIR:
=INDICE(movie,COINCIDIR(G6,date,0))
Dentro de INDICE, COINCIDIR encuentra la posición de la fecha en G6 en la lista de fechas. Esta posición, 4 en el ejemplo, se devuelve a INDICE como un número de fila:
=INDICE(movie,4)
e INDICE regresa la película en esa posición, "The Dark Knight".

Fórmula todo en uno

Para devolver la próxima película en una sola fórmula, puede usar esta fórmula de matriz:
{=INDICE(movie,COINCIDIR(MIN(SI((date>=HOY()),date)),date,0))}

Con MINIFS

Si tiene una versión más nueva de Excel, puede usar la función MINIFS en lugar de la fórmula de matriz en G6:
=MINIFS(date,date,">="&HOY())
MINIFS se introdujo en Excel 2016 a través de Office 365.

Manejo de errores

La fórmula en esta página funcionará incluso cuando los eventos no estén ordenados por fecha. Sin embargo, si no hay fechas próximas, la función MIN devolverá cero en lugar de un error. Esto se mostrará como la fecha "0-Jan-00" en G6, y la fórmula INDICE y COINCIDIR arrojará un error # N / A, ya que no hay una fila cero para obtener un valor. Para atrapar este error, puede reemplazar MIN con la función K.ESIMO.MENOR, luego envolver la fórmula completa en SI.ERROR de esta manera:
={SI.ERROR(K.ESIMO.MENOR(SI((date>=HOY()),date),1),"None found")}
A diferencia de MIN, la función K.ESIMO.MENOR generará un error cuando no se encuentre un valor, por lo que SI.ERROR se puede usar para administrar el error.

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT