Excel-formel: Hent næste planlagte begivenhed -

Indholdsfortegnelse

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.

Interessante artikler...