Formula generica
(=MIN(IF(rng1=criteria1,IF(rng2=criteria2,values))))
Sommario
Per ottenere il valore minimo in un set di dati utilizzando più criteri (ad esempio per ottenere MIN IF), è possibile utilizzare una formula di matrice basata sulle funzioni MIN e IF. Nell'esempio mostrato la formula in I6 è:
(=MIN(IF(color=G6,IF(item=H6,price))))
Con un colore "rosso" e l'elemento "cappello" il risultato è $ 8,00
Nota: questa è una formula di matrice e deve essere inserita utilizzando Ctrl + Maiusc + Invio
Spiegazione
In questo esempio vengono utilizzati i seguenti intervalli denominati: "color" = B6: B14, "item" = C6: C14 e "price" = E6: E14. Nell'esempio, abbiamo i prezzi per articoli in varie regioni. L'obiettivo è trovare il prezzo minimo per un determinato colore e oggetto.
Questa formula utilizza due funzioni IF annidate, racchiuse in MIN per restituire il prezzo minimo utilizzando due criteri. A partire dal test logico della prima istruzione IF, color = G6, i valori nell'intervallo denominato color (B6: B14) vengono confrontati con il valore nella cella G6, "red". Il risultato è un array come questo:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Nel test logico per la seconda istruzione IF, item = H6, i valori nell'elemento di intervallo denominato (C6: C14) vengono confrontati con il valore nella cella H6, "hat". Il risultato è un array come questo:
(TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE)
Il "valore se vero" per la seconda istruzione IF l'intervallo denominato "prezzi" (E6: E14), che è un array come questo:
(11;8;9;12;9;10;9;8;7)
Viene restituito un prezzo per ogni articolo in questo intervallo solo quando il risultato dei primi due array sopra è VERO per gli articoli nelle posizioni corrispondenti. Nell'esempio mostrato l'array finale all'interno di MIN ha questo aspetto:
(11;8;9;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Nota che gli unici prezzi che "sopravvivono" sono quelli in una posizione in cui il colore è "rosso" e l'articolo è "cappello".
La funzione MIN restituisce quindi il prezzo più basso, ignorando automaticamente i valori FALSE.
Sintassi alternativa che utilizza la logica booleana
È inoltre possibile utilizzare la seguente formula di matrice, che utilizza solo una funzione IF insieme alla logica booleana:
(=MIN(IF((color=G6)*(item=H6),price)))
Il vantaggio di questa sintassi è che è probabilmente più facile aggiungere criteri aggiuntivi senza aggiungere ulteriori funzioni IF annidate.
Con funzione MINIFS
La funzione MINIFS, introdotta in Excel 2016 tramite Office 365, è progettata per restituire i minimi in base a uno o più criteri, senza la necessità di una formula di matrice. Con MINIFS, la formula in I6 diventa:
=MINIFS(price,color,G6,item,H6)
Nota: MINIFS ignorerà automaticamente le celle vuote che soddisfano i criteri. In altre parole, MINIFS non tratterà le celle vuote che soddisfano i criteri come zero. D'altra parte, MINIFS restituirà zero (0) se nessuna cella corrisponde ai criteri.