Formula Excel: prezzi di bundle facili con SUMPRODUCT -

Sommario

Formula generica

=SUMPRODUCT(costs,--(range="x"))

Sommario

Per calcolare il prezzo di un pacchetto di prodotti utilizzando una semplice "x" per includere o escludere un prodotto, puoi utilizzare una formula basata sulla funzione SUMPRODUCT. Nell'esempio mostrato, la formula in D11 è:

=SUMPRODUCT($C$5:$C$9,--(D5:D9="x"))

Spiegazione

La funzione SUMPRODUCT moltiplica insieme intervalli o matrici e restituisce la somma dei prodotti. Sembra noioso, ma SUMPRODUCT è una funzione elegante e versatile, che questo esempio illustra bene.

In questo esempio, SUMPRODUCT è configurato con due array. La prima matrice è la gamma che contiene i prezzi dei prodotti:

$C$5:$C$9

Nota che il riferimento è assoluto per evitare modifiche quando la formula viene copiata a destra. Questo intervallo restituisce il seguente array:

(99;69;129;119;49)

Il secondo array viene generato con questa espressione:

--(D5:D9="x")

Il risultato di D5: D9 = "x" è un array di valori TRUE FALSE come questo:

(TRUE;TRUE;FALSE;FALSE;FALSE)

Il doppio negativo (-) converte questi valori VERO FALSO in 1 e 0:

(1;1;0;0;0)

Quindi, all'interno di SUMPRODUCT abbiamo:

=SUMPRODUCT((99;69;129;119;49),(1;1;0;0;0))

La funzione SUMPRODUCT moltiplica quindi gli elementi corrispondenti in ogni array insieme:

=SUMPRODUCT((99;69;0;0;0))

e restituisce la somma dei prodotti, 168 in questo caso.

In effetti, il secondo array funge da filtro per i valori nel primo array. Gli zeri in array2 annullano gli elementi in array1 e gli 1 in array2 consentono ai valori di array1 di passare al risultato finale.

Con un unico array

SUMPRODUCT è impostato per accettare più array, ma puoi semplificare un po 'questa formula fornendo un singolo array all'inizio:

=SUMPRODUCT($C$5:$C$9*(D5:D9="x"))

L'operazione matematica (moltiplicazione) forza automaticamente i valori VERO FALSO nella seconda espressione a uno e zero, senza bisogno di un doppio negativo.

Articoli interessanti...