Excel vzorec: Získejte další naplánovanou událost -

Obsah

Obecný vzorec

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

souhrn

Chcete-li získat další naplánovanou událost ze seznamu událostí s daty, můžete použít maticový vzorec založený na funkcích MIN a DNES k vyhledání dalšího data a INDEX a MATCH k zobrazení události k tomuto datu. V zobrazeném příkladu je vzorec v G6:

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

Kde „datum“ je pojmenovaný rozsah D5: D14.

Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.

Vysvětlení

První část řešení využívá funkce MIN a DNES k vyhledání „dalšího data“ na základě dnešního data. To se provádí filtrováním dat pomocí funkce IF:

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

Logický test generuje pole hodnot PRAVDA / NEPRAVDA, kde PRAVDA odpovídá datům větším nebo rovným dnešku:

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

Když je výsledek TRUE, datum je předáno do pole vráceného IF. Když je výsledek FALSE, datum je nahrazeno booleovským FALSE. Funkce IF vrací následující pole na MIN:

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

Funkce MIN poté ignoruje FALSE hodnoty a vrátí nejmenší hodnotu data (43371), což je datum 28. září 2018 v datovém systému aplikace Excel.

Získání názvu filmu

K zobrazení filmu spojeného s „dalším datem“ “používáme INDEX a MATCH:

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

V INDEXU MATCH najde pozici data v G6 v seznamu dat. Tato pozice, v příkladu 4, je vrácena do INDEXU jako číslo řádku:

=INDEX(movie,4)

a INDEX vrací film na této pozici „Temný rytíř“.

Vše v jednom vzorci

Chcete-li vrátit další film v jednom vzorci, můžete použít tento vzorec pole:

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

S MINIFY

Pokud máte novější verzi aplikace Excel, můžete místo vzorce pole v G6 použít funkci MINIFS:

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

MINIFS byl představen v aplikaci Excel 2016 prostřednictvím Office 365.

Zpracování chyb

Vzorec na této stránce bude fungovat, i když události nebudou seřazeny podle data. Pokud však neexistují žádná nadcházející data, vrátí funkce MIN místo chyby nulu. Toto se zobrazí jako datum „0-Jan-00“ v G6 a vzorec INDEX a MATCH způsobí chybu # N / A, protože neexistuje žádný nultý řádek, ze kterého by se měla získat hodnota. Chcete-li tuto chybu zachytit, můžete nahradit MIN funkcí SMALL a poté zabalit celý vzorec do IFERROR takto:

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

Na rozdíl od MIN funkce SMALL vyvolá chybu, když není nalezena hodnota, takže ke správě chyby lze použít IFERROR.

Zajímavé články...