
Formula generica
=SUMPRODUCT(SUMIF(codes,lookups,values))
Sommario
Per sommare i valori recuperati da un'operazione di ricerca, è possibile utilizzare SUMPRODUCT con la funzione SUMIF.
Nell'esempio mostrato, la formula in H5 è:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Dove codici è l'intervallo denominato J4: J5 e valori è l'intervallo denominato K4: K5.
Contesto
A volte potresti voler sommare più valori recuperati da un'operazione di ricerca. In questo esempio, vogliamo sommare il tempo di ferie preso ogni settimana in base a un sistema di codice, dove F = un giorno intero e H = mezza giornata. Se un giorno è vuoto, non è stato preso tempo.
La sfida è trovare una formula che cerchi e sommi i valori associati a F e H.
Spiegazione
Il nucleo di questa formula è SUMIF, che viene utilizzato per cercare i valori corretti per F e H. L'utilizzo di SUMIF per cercare i valori è una tecnica più avanzata che funziona bene quando i valori sono numerici e non ci sono duplicati nella tabella di ricerca " ".
Il trucco in questo caso è che il criterio per SUMIF non è un singolo valore, ma piuttosto un array di valori nell'intervallo C5: G5:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Poiché stiamo dando SUMIF più di un criterio, SUMIF restituirà più di un risultato. Nell'esempio mostrato, il risultato di SUMIF è il seguente array:
(1,0.5,0,0,0)
Nota che otteniamo correttamente 1 per ogni "F" e 0,5 per ogni "H", e i valori vuoti nella settimana generano zero.
Infine, utilizziamo SUMPRODUCT per sommare i valori nell'array restituito da SUMIF. Poiché esiste un solo array, SUMPRODUCT restituisce semplicemente la somma di tutti i valori.