Excel-formel: Enkel pakkeprising med SUMPRODUCT -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å beregne produktpakkepriser ved å bruke et enkelt "x" for å inkludere eller ekskludere et produkt, kan du bruke en formel basert på SUMPRODUCT-funksjonen. I eksemplet vist er formelen i D11:

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

Forklaring

SUMPRODUCT-funksjonen multipliserer områder eller arrays sammen og returnerer summen av produkter. Dette høres kjedelig ut, men SUMPRODUCT er en elegant og allsidig funksjon, som dette eksemplet illustrerer pent.

I dette eksemplet er SUMPRODUCT konfigurert med to matriser. Den første matrisen er serien som inneholder produktpriser:

$C$5:$C$9

Merk at referansen er absolutt for å forhindre endringer da formelen kopieres til høyre. Dette området evalueres til følgende matrise:

(99;69;129;119;49)

Den andre matrisen genereres med dette uttrykket:

--(D5:D9="x")

Resultatet av D5: D9 = "x" er en matrise med SANNE FALSE verdier som dette:

(TRUE;TRUE;FALSE;FALSE;FALSE)

Dobbeltnegativet (-) konverterer disse SANNE FALSKE verdiene til 1s og 0s:

(1;1;0;0;0)

Så inne i SUMPRODUCT har vi:

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

SUMPRODUCT-funksjonen multipliserer deretter tilsvarende elementer i hver matrise sammen:

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

og returnerer summen av produkter, 168 i dette tilfellet.

Effektivt fungerer den andre matrisen som et filter for verdiene i den første matrisen. Nuller i array2 avbryter elementer i array1, og 1s i array2 lar verdier fra array1 passere gjennom til det endelige resultatet.

Med en enkelt matrise

SUMPRODUCT er satt opp for å godta flere matriser, men du kan forenkle denne formelen litt ved å gi en enkelt matrise i starten:

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

Matematikkoperasjonen (multiplikasjon) tvinger automatisk de SANNE FALSE-verdiene i det andre uttrykket til en og null, uten behov for dobbelt negativ.

Interessante artikler...