Excel-formel: Hämta nästa schemalagda händelse -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att få nästa schemalagda händelse från en lista över händelser med datum kan du använda en matrisformel baserad på MIN- och DAG-funktionerna för att hitta nästa datum och INDEX och MATCH för att visa händelsen det datumet. I exemplet som visas är formeln i G6:

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

Där "datum" är det namngivna intervallet D5: D14.

Obs: detta är en matrisformel och måste anges med Control + Shift + Enter.

Förklaring

Den första delen av lösningen använder funktionerna MIN och TODAY för att hitta "nästa datum" baserat på datumet idag. Detta görs genom att filtrera datumen genom funktionen IF:

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

Det logiska testet genererar en matris med SANT / FALSKA värden, där SANT motsvarar datum som är större än eller lika med idag:

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

När ett resultat är SANT skickas datumet till matrisen som returneras av IF. När ett resultat är FALSE ersätts datumet med den booleska FALSE. IF-funktionen returnerar följande array till MIN:

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

MIN-funktionen ignorerar sedan FALSE-värdena och returnerar det minsta datumvärdet (43371), vilket är datumet 28 september 2018 i Excels datasystem.

Få filmnamnet

För att visa filmen som är associerad med "nästa datum" "använder vi INDEX och MATCH:

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

Inuti INDEX hittar MATCH platsens position i G6 i datumlistan. Denna position, 4 i exemplet, returneras till INDEX som ett radnummer:

=INDEX(movie,4)

och INDEX returnerar filmen på den positionen, "The Dark Knight".

Allt i en formel

För att returnera nästa film i en enda formel kan du använda den här matrisformeln:

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

Med MINIFS

Om du har en nyare version av Excel kan du använda MINIFS-funktionen istället för matrisformeln i G6:

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

MINIFS introducerades i Excel 2016 via Office 365.

Hanteringsfel

Formeln på den här sidan fungerar även när händelser inte sorteras efter datum. Men om det inte finns några kommande datum kommer MIN-funktionen att returnera noll istället för ett fel. Detta visas som datumet "0-Jan-00" i G6, och INDEX- och MATCH-formeln kommer att kasta ett # N / A-fel, eftersom det inte finns någon nollraden att få ett värde från. För att fånga upp det här felet kan du ersätta MIN med funktionen SMALL och sedan slå in hela formeln i FEL så här:

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

Till skillnad från MIN kommer SMALL-funktionen att kasta ett fel när ett värde inte hittas, så IFERROR kan användas för att hantera felet.

Intressanta artiklar...