Formula di Excel: valore massimo in un determinato giorno della settimana -

Formula generica

(=MAX(IF(TEXT(dates,"ddd")="Mon",values)))

Sommario

Per trovare il valore massimo in un determinato giorno della settimana (ad esempio lunedì, martedì, mercoledì, ecc.) È possibile utilizzare una semplice formula di matrice basata sulle funzioni MAX, SE e TESTO. Nell'esempio mostrato, la formula nella cella F5 è:

=MAX(IF(TEXT(dates,"ddd")=F4,values))

Dove le date (B5: B15) e i valori (C5: C15) sono intervalli denominati.

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

Spiegazione

Lavorando dall'interno verso l'esterno, la funzione TESTO viene utilizzata per estrarre un valore del giorno della settimana per ogni data:

=TEXT(dates,"ddd")

Ciò si traduce in una matrice come questa:

("Mon";"Tue";"Wed";"Thu";"Fri";"Mon";"Tue";"Wed";"Thu";"Fri";"Mon")

che viene poi confrontato con il testo in F4, "Mon". Il risultato è un altro array, che contiene solo valori TRUE e FALSE:

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

Nota che ogni TRUE corrisponde a un lunedì. Questo array viene restituito all'interno della funzione IF come test logico. Agisce come un filtro per escludere i valori negli altri giorni della settimana. Il risultato finale di IF, che viene restituito direttamente alla funzione MAX, è simile a questo:

=MAX((85;FALSE;FALSE;FALSE;FALSE;94;FALSE;FALSE;FALSE;FALSE;52))

MAX ignora automaticamente i valori FALSE e restituisce il valore rimanente più alto, 94.

Con AGGREGATO

Per una formula leggermente più geniale che non richiede control + shift + enter, puoi usare la funzione AGGREGATE in questo modo:

=AGGREGATE(14,6,values/(TEXT(dates,"ddd")=F4),1)

Questa è la formula utilizzata nella cella F6 nell'esempio mostrato. Qui forniamo AGGREGATO 14 per l'argomento della funzione (GRANDE) e 6 per l'argomento dell'opzione (ignora gli errori). Quindi creiamo un'espressione logica utilizzando la funzione TESTO per controllare tutte le date per il lunedì. Il risultato di questa operazione è un array di valori TRUE / FALSE, che diventano il denominatore dei valori originali. Quando viene utilizzato in un'operazione matematica, FALSE restituisce zero e genera un # DIV / 0! errore. TRUE restituisce 1 e restituisce il valore originale. La matrice finale di valori ed errori agisce come un filtro. AGGREGATO ignora tutti gli errori e restituisce il più grande (massimo) dei valori sopravvissuti.

MAXIFS

La funzione MAXIFS, disponibile in Excel Office 365, può restituire un valore massimo utilizzando uno o più criteri senza la necessità di una formula di matrice. Tuttavia, MAXIFS è una funzione basata su intervalli e non consente ad altre funzioni come TESTO di elaborare valori in intervalli di criteri. È tuttavia possibile aggiungere una colonna helper ai dati, generare valori del giorno della settimana con TEXT, quindi utilizzare MAXIFS con la colonna helper come intervallo di criteri.

Articoli interessanti...