Formula Excel: Obțineți următorul eveniment programat -

Cuprins

Formula generică

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

rezumat

Pentru a obține următorul eveniment programat dintr-o listă de evenimente cu date, puteți utiliza o formulă matrice bazată pe funcțiile MIN și TODAY pentru a găsi următoarea dată și INDEX și MATCH pentru a afișa evenimentul la acea dată. În exemplul prezentat, formula din G6 este:

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

Unde „dată” este intervalul numit D5: D14.

Notă: aceasta este o formulă matrice și trebuie introdusă cu Control + Shift + Enter.

Explicaţie

Prima parte a soluției folosește funcțiile MIN și TODAY pentru a găsi „următoarea dată” pe baza datei de astăzi. Acest lucru se face prin filtrarea datelor prin funcția IF:

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

Testul logic generează o serie de valori TRUE / FALSE, unde TRUE corespunde unor date mai mari sau egale cu astăzi:

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

Când un rezultat este ADEVĂRAT, data este transmisă în matricea returnată de IF. Când un rezultat este FALS, data este înlocuită cu FALSE boolean. Funcția IF returnează următoarea matrice la MIN:

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

Funcția MIN ignoră apoi valorile FALSE și returnează cea mai mică valoare de dată (43371), care este data de 28 septembrie 2018 în sistemul de date Excel.

Obținerea numelui filmului

Pentru a afișa filmul asociat cu „următoarea dată” ”, folosim INDEX și MATCH:

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

În INDEX, MATCH găsește poziția datei în G6 în lista de date. Această poziție, 4 în exemplu, este returnată la INDEX ca număr de rând:

=INDEX(movie,4)

iar INDEX returnează filmul în acea poziție, „The Dark Knight”.

Toate într-o singură formulă

Pentru a returna următorul film într-o singură formulă, puteți utiliza această formulă matrice:

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

Cu MINIFS

Dacă aveți o versiune mai nouă de Excel, puteți utiliza funcția MINIFS în loc de formula matricei din G6:

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

MINIFS a fost introdus în Excel 2016 prin Office 365.

Gestionarea erorilor

Formula de pe această pagină va funcționa chiar și atunci când evenimentele nu sunt sortate după dată. Cu toate acestea, dacă nu există date viitoare, funcția MIN va reveni la zero în loc de o eroare. Aceasta va fi afișată ca dată „0-ianuarie-00” în G6, iar formula INDEX și MATCH va arunca o eroare # N / A, deoarece nu există un rând zero din care să obțineți o valoare. Pentru a prinde această eroare, puteți înlocui MIN cu funcția SMALL, apoi înfășurați întreaga formulă în IFERROR astfel:

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

Spre deosebire de MIN, funcția SMALL va arunca o eroare atunci când nu se găsește o valoare, astfel încât IFERROR poate fi utilizat pentru a gestiona eroarea.

Articole interesante...