Formula di Excel: valore massimo se -

Sommario

Formula generica

(=MAX(IF(range=criteria,values)))

Sommario

Per ottenere un valore massimo in base ai criteri, è possibile utilizzare la funzione MAX insieme alla funzione SE in una formula di matrice. Nell'esempio mostrato, la formula nella cella G6 è:

(=MAX(IF(names=F6,times)))

Dove names è l'intervallo denominato B6: B17 e times è l'intervallo denominato D6: D17.

Note: questa è una formula di matrice e deve essere inserita con Control + Maiusc + Invio. Le versioni successive di Excel hanno una funzione MAXIFS, vedere la nota di seguito.

Spiegazione

La funzione IF viene valutata per prima. Il test logico è un'espressione che verifica tutti i nomi:

IF(names=F6 // logical test

Il risultato è un array di valori VERO / FALSO come questo:

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

I valori TRUE corrispondono alle righe in cui il nome è "Hannah". Per tutti gli altri nomi, il valore è FALSE. Il "valore se vero" per IF è l'intervallo denominato times , che contiene l'intero insieme di orari. Non viene fornito alcun "valore se falso":

IF(names=F6,times)

Il risultato finale di IF è un array come questo:

(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)

Nota: i tempi di Excel sono valori frazionari, il che spiega i decimali lunghi.

La funzione IF agisce come un filtro. Solo i valori di tempo associati a TRUE passano attraverso il filtro, gli altri valori vengono sostituiti con FALSE.

La funzione IF consegna questo array direttamente alla funzione MAX, che ignora automaticamente i valori FALSE e restituisce il tempo massimo nell'array.

Con MAXIFS

La funzione MAXIFS, disponibile in Excel O365 ed Excel 2019, è progettata per restituire un valore massimo basato su uno o più criteri senza la necessità di una formula di matrice. Con MAXIFS, la formula in G6 è:

=MAXIFS(times,names,F6)

Articoli interessanti...