Excel-formel: Enkel paketprissättning med SUMPRODUCT -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att beräkna produktpaketprissättningen med ett enkelt "x" för att inkludera eller utesluta en produkt kan du använda en formel baserad på SUMPRODUCT-funktionen. I exemplet som visas är formeln i D11:

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

Förklaring

SUMPRODUCT-funktionen multiplicerar områden eller matriser tillsammans och returnerar produktsumman. Detta låter tråkigt, men SUMPRODUCT är en elegant och mångsidig funktion, vilket detta exempel illustrerar snyggt.

I det här exemplet är SUMPRODUCT konfigurerad med två matriser. Den första matrisen är det sortiment som innehåller produktpriser:

$C$5:$C$9

Observera att referensen är absolut för att förhindra ändringar eftersom formeln kopieras till höger. Detta intervall utvärderas till följande array:

(99;69;129;119;49)

Den andra matrisen genereras med detta uttryck:

--(D5:D9="x")

Resultatet av D5: D9 = "x" är en matris med SANTA FALSKA värden så här:

(TRUE;TRUE;FALSE;FALSE;FALSE)

Det dubbla negativa (-) omvandlar dessa SANTA FALSKA värden till 1 och 0:

(1;1;0;0;0)

Så inom SUMPRODUCT har vi:

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

SUMPRODUCT-funktionen multiplicerar sedan motsvarande objekt i varje array tillsammans:

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

och returnerar produktsumman, 168 i detta fall.

Effektivt fungerar den andra matrisen som ett filter för värdena i den första matrisen. Nollor i array2 avbryter objekt i array1 och 1s i array2 tillåter värden från array1 att passera till det slutliga resultatet.

Med en enda array

SUMPRODUCT är inställd på att acceptera flera matriser, men du kan förenkla denna formel lite genom att tillhandahålla en enda matris i början:

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

Räkneoperationen (multiplikation) tvingar automatiskt de sanna FALSKA värdena i det andra uttrycket till enor och nollor, utan behov av dubbelt negativ.

Intressanta artiklar...