Formule Excel: Obtenez le prochain événement planifié -

Table des matières

Formule générique

(=MIN(IF((range>=TODAY()),range)))

Sommaire

Pour obtenir le prochain événement planifié à partir d'une liste d'événements avec des dates, vous pouvez utiliser une formule matricielle basée sur les fonctions MIN et TODAY pour trouver la date suivante, et INDEX et MATCH pour afficher l'événement à cette date. Dans l'exemple illustré, la formule en G6 est:

(=MIN(IF((date>=TODAY()),date)))

Où «date» est la plage nommée D5: D14.

Remarque: il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée.

Explication

La première partie de la solution utilise les fonctions MIN et TODAY pour trouver la "prochaine date" en fonction de la date du jour. Cela se fait en filtrant les dates via la fonction IF:

IF((date>=TODAY()),date)

Le test logique génère un tableau de valeurs TRUE / FALSE, où TRUE correspond à des dates supérieures ou égales à aujourd'hui:

(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)

Lorsqu'un résultat est TRUE, la date est passée dans le tableau renvoyé par IF. Lorsqu'un résultat est FALSE, la date est remplacée par le booléen FALSE. La fonction IF renvoie le tableau suivant à MIN:

(FALSE;FALSE;FALSE;43371;43385;43399;43413;43427;43441;43455)

La fonction MIN ignore ensuite les valeurs FALSE et renvoie la plus petite valeur de date (43371), qui correspond à la date du 28 septembre 2018 dans le système de date d'Excel.

Obtenir le nom du film

Pour afficher le film associé à la "prochaine date" ", nous utilisons INDEX et MATCH:

=INDEX(movie,MATCH(G6,date,0))

Dans INDEX, MATCH trouve la position de la date dans G6 dans la liste des dates. Cette position, 4 dans l'exemple, est renvoyée à INDEX sous forme de numéro de ligne:

=INDEX(movie,4)

et INDEX renvoie le film à cette position, "The Dark Knight".

Tout dans une formule

Pour renvoyer le prochain film dans une seule formule, vous pouvez utiliser cette formule matricielle:

(=INDEX(movie,MATCH(MIN(IF((date>=TODAY()),date)),date,0)))

Avec MINIFS

Si vous disposez d'une version plus récente d'Excel, vous pouvez utiliser la fonction MINIFS au lieu de la formule matricielle dans G6:

=MINIFS(date,date,">="&TODAY())

MINIFS a été introduit dans Excel 2016 via Office 365.

Gestion des erreurs

La formule de cette page fonctionnera même lorsque les événements ne sont pas triés par date. Cependant, s'il n'y a pas de dates à venir, la fonction MIN renverra zéro au lieu d'une erreur. Cela s'affichera comme la date "0-Jan-00" dans G6, et la formule INDEX et MATCH générera une erreur # N / A, car il n'y a pas de zéro-ième ligne pour obtenir une valeur. Pour intercepter cette erreur, vous pouvez remplacer MIN par la fonction SMALL, puis envelopper la formule entière dans IFERROR comme ceci:

=(IFERROR(SMALL(IF((date>=TODAY()),date),1),"None found"))

Contrairement à MIN, la fonction SMALL lèvera une erreur lorsqu'une valeur n'est pas trouvée, donc IFERROR peut être utilisé pour gérer l'erreur.

Articles intéressants...