![](https://cdn.wiki-base.com/7054375/excel_formula_get_next_scheduled_event__2.png.webp)
Generisk formel
(=MIN(IF((range>=TODAY()),range)))
Resumé
For at hente den næste planlagte begivenhed fra en liste over begivenheder med datoer kan du bruge en matrixformel baseret på MIN og I DAG-funktionerne til at finde den næste dato og INDEX og MATCH til at vise begivenheden på den dato. I det viste eksempel er formlen i G6:
(=MIN(IF((date>=TODAY()),date)))
Hvor "dato" er det navngivne interval D5: D14.
Bemærk: dette er en matrixformel og skal indtastes med Control + Shift + Enter.
Forklaring
Den første del af løsningen bruger funktionerne MIN og DAG til at finde den "næste dato" baseret på datoen i dag. Dette gøres ved at filtrere datoerne gennem IF-funktionen:
IF((date>=TODAY()),date)
Den logiske test genererer en matrix med SAND / FALSK-værdier, hvor SAND svarer til datoer større end eller lig med i dag:
(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)
Når et resultat er SAND, overføres datoen til matrix returneret af IF. Når et resultat er FALSE, erstattes datoen med den boolske FALSE. IF-funktionen returnerer følgende array til MIN:
(FALSE;FALSE;FALSE;43371;43385;43399;43413;43427;43441;43455)
MIN-funktionen ignorerer derefter FALSE-værdierne og returnerer den mindste datoværdi (43371), som er datoen 28. september 2018 i Excels dato-system.
Få filmnavnet
For at vise den film, der er knyttet til "næste dato" ", bruger vi INDEX og MATCH:
=INDEX(movie,MATCH(G6,date,0))
Inde i INDEX finder MATCH placeringen af datoen i G6 i listen over datoer. Denne position, 4 i eksemplet, returneres til INDEX som et række nummer:
=INDEX(movie,4)
og INDEX returnerer filmen på den position, "The Dark Knight".
Alt i en formel
For at returnere den næste film i en enkelt formel kan du bruge denne matrixformel:
(=INDEX(movie,MATCH(MIN(IF((date>=TODAY()),date)),date,0)))
Med MINIFS
Hvis du har en nyere version af Excel, kan du bruge funktionen MINIFS i stedet for matrixformlen i G6:
=MINIFS(date,date,">="&TODAY())
MINIFS blev introduceret i Excel 2016 via Office 365.
Håndteringsfejl
Formlen på denne side fungerer, selv når begivenheder ikke sorteres efter dato. Hvis der imidlertid ikke er nogen kommende datoer, returnerer MIN-funktionen nul i stedet for en fejl. Dette vises som datoen "0-Jan-00" i G6, og INDEX- og MATCH-formlen vil kaste en # N / A-fejl, da der ikke er nogen nulste række at hente en værdi fra. For at fange denne fejl kan du erstatte MIN med funktionen SMALL og derefter pakke hele formlen i IFERROR sådan:
=(IFERROR(SMALL(IF((date>=TODAY()),date),1),"None found"))
I modsætning til MIN kaster SMALL-funktionen en fejl, når en værdi ikke findes, så IFERROR kan bruges til at styre fejlen.