Excel-formel: Få neste planlagte hendelse -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å få neste planlagte hendelse fra en liste over hendelser med datoer, kan du bruke en matriseformel basert på MIN og DAG-funksjonene for å finne neste dato, og INDEKS og MATCH for å vise hendelsen på den datoen. I eksemplet vist er formelen i G6:

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

Hvor "dato" er det navngitte området D5: D14.

Merk: dette er en matriseformel og må angis med Control + Shift + Enter.

Forklaring

Den første delen av løsningen bruker MIN og TODAY-funksjonene for å finne "neste dato" basert på datoen i dag. Dette gjøres ved å filtrere datoene gjennom IF-funksjonen:

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

Den logiske testen genererer en rekke SANNE / FALSE verdier, der SANT tilsvarer datoer som er større enn eller lik i dag:

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

Når et resultat er SANT, overføres datoen til matrisen som returneres av IF. Når et resultat er FALSE, erstattes datoen med den boolske FALSE. IF-funksjonen returnerer følgende matrise til MIN:

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

MIN-funksjonen ignorerer da FALSE-verdiene, og returnerer den minste datoverdien (43371), som er datoen 28. september 2018 i Excels datasystem.

Få filmenavnet

For å vise filmen knyttet til "neste dato" ", bruker vi INDEX og MATCH:

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

Inne i INDEX finner MATCH posisjonen til datoen i G6 i listen over datoer. Denne posisjonen, 4 i eksemplet, returneres til INDEX som et radnummer:

=INDEX(movie,4)

og INDEX returnerer filmen på den posisjonen, "The Dark Knight".

Alt i en formel

For å returnere neste film i en enkelt formel, kan du bruke denne matriseformelen:

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

Med MINIFS

Hvis du har en nyere versjon av Excel, kan du bruke MINIFS-funksjonen i stedet for matriseformelen i G6:

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

MINIFS ble introdusert i Excel 2016 via Office 365.

Håndteringsfeil

Formelen på denne siden fungerer selv når hendelser ikke er sortert etter dato. Imidlertid, hvis det ikke er noen kommende datoer, vil MIN-funksjonen returnere null i stedet for en feil. Dette vil vises som datoen "0-Jan-00" i G6, og INDEKS- og MATCH-formelen vil kaste en # N / A-feil, siden det ikke er noen null-rad å hente en verdi fra. For å fange denne feilen, kan du erstatte MIN med SMALL-funksjonen, og deretter pakke hele formelen i FEIL slik:

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

I motsetning til MIN, vil SMALL-funksjonen kaste en feil når en verdi ikke blir funnet, slik at FEIL kan brukes til å håndtere feilen.

Interessante artikler...