Excel-formel: Let bundtprissætning med SUMPRODUCT -

Indholdsfortegnelse

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.

Interessante artikler...