Formula Excel: ottieni il prossimo evento programmato -

Sommario

Formula generica

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

Sommario

Per ottenere il prossimo evento pianificato da un elenco di eventi con date, è possibile utilizzare una formula di matrice basata sulle funzioni MIN e TODAY per trovare la data successiva e INDICE e CORRISPONDENZA per visualizzare l'evento in quella data. Nell'esempio mostrato, la formula in G6 è:

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

Dove "data" è l'intervallo denominato D5: D14.

Nota: questa è una formula di matrice e deve essere inserita con Control + Maiusc + Invio.

Spiegazione

La prima parte della soluzione utilizza le funzioni MIN e TODAY per trovare la "data successiva" in base alla data odierna. Questo viene fatto filtrando le date tramite la funzione IF:

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

Il test logico genera un array di valori TRUE / FALSE, dove TRUE corrisponde a date maggiori o uguali a oggi:

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

Quando un risultato è TRUE, la data viene passata nell'array restituito da IF. Quando un risultato è FALSE, la data viene sostituita dal valore booleano FALSE. La funzione IF restituisce il seguente array a MIN:

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

La funzione MIN quindi ignora i valori FALSE e restituisce il valore di data più piccolo (43371), che è la data del 28 settembre 2018 nel sistema di data di Excel.

Ottenere il nome del film

Per visualizzare il film associato alla "prossima data" ", utilizziamo INDICE e CONFRONTA:

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

All'interno di INDEX, MATCH trova la posizione della data in G6 nell'elenco delle date. Questa posizione, 4 nell'esempio, viene restituita a INDICE come numero di riga:

=INDEX(movie,4)

e INDICE restituisce il film in quella posizione, "Il cavaliere oscuro".

Tutto in una formula

Per restituire il film successivo in una singola formula, puoi utilizzare questa formula di matrice:

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

Con MINIFS

Se hai una versione più recente di Excel, puoi utilizzare la funzione MINIFS invece della formula di matrice in G6:

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

MINIFS è stato introdotto in Excel 2016 tramite Office 365.

Gestione degli errori

La formula in questa pagina funzionerà anche quando gli eventi non sono ordinati per data. Tuttavia, se non ci sono date imminenti, la funzione MIN restituirà zero invece di un errore. Verrà visualizzata come la data "0-gen-00" in G6 e la formula INDICE e CONFRONTA genererà un errore # N / A, poiché non esiste una riga zero da cui ottenere un valore. Per intercettare questo errore, puoi sostituire MIN con la funzione SMALL, quindi racchiudere l'intera formula in SE.ERRORE in questo modo:

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

A differenza di MIN, la funzione SMALL genererà un errore quando un valore non viene trovato, quindi IFERROR può essere utilizzato per gestire l'errore.

Articoli interessanti...