![](https://cdn.wiki-base.com/6459371/excel_formula_easy_bundle_pricing_with_sumproduct__2.png.webp)
Generisk formel
=SUMPRODUCT(costs,--(range="x"))
Resumé
For at beregne prisfastsættelse af produkter ved hjælp af et simpelt "x" for at inkludere eller ekskludere et produkt kan du bruge en formel baseret på SUMPRODUCT-funktionen. I det viste eksempel er formlen i D11:
=SUMPRODUCT($C$5:$C$9,--(D5:D9="x"))
Forklaring
SUMPRODUCT-funktionen multiplicerer områder eller arrays sammen og returnerer summen af produkter. Dette lyder kedeligt, men SUMPRODUCT er en elegant og alsidig funktion, som dette eksempel illustrerer pænt.
I dette eksempel er SUMPRODUCT konfigureret med to arrays. Den første matrix er det interval, der indeholder produktpriser:
$C$5:$C$9
Bemærk, at referencen er absolut for at forhindre ændringer, da formlen kopieres til højre. Dette interval evalueres til følgende array:
(99;69;129;119;49)
Den anden matrix genereres med dette udtryk:
--(D5:D9="x")
Resultatet af D5: D9 = "x" er en matrix med SANDE FALSKE værdier som denne:
(TRUE;TRUE;FALSE;FALSE;FALSE)
Det dobbelte negative (-) konverterer disse TRUE FALSE-værdier til 1s og 0s:
(1;1;0;0;0)
Så inden i SUMPRODUCT har vi:
=SUMPRODUCT((99;69;129;119;49),(1;1;0;0;0))
SUMPRODUCT-funktionen multiplicerer derefter de tilsvarende elementer i hver matrix sammen:
=SUMPRODUCT((99;69;0;0;0))
og returnerer produktsummen, 168 i dette tilfælde.
Effektivt fungerer det andet array som et filter for værdierne i det første array. Nuller i array2 annullerer elementer i array1, og 1s i array2 tillader værdier fra array1 at passere ind i det endelige resultat.
Med et enkelt array
SUMPRODUCT er indstillet til at acceptere flere arrays, men du kan forenkle denne formel lidt ved at give et enkelt array i starten:
=SUMPRODUCT($C$5:$C$9*(D5:D9="x"))
Matematikoperationen (multiplikation) tvinger automatisk de SANDE FALSE-værdier i det andet udtryk til ener og nuller uden behov for en dobbelt negativ.