Exceljet

Quick, clean, and to the point

Easy bundle pricing with SUMPRODUCT

Excel formula: Easy bundle pricing with SUMPRODUCT
Generic formula 
=SUMPRODUCT(costs,--(range="x"))
Explanation 

To calculate product bundle pricing using a simple "x" to include or exclude a product, you can use a formula based on the SUMPRODUCT function. In the example shown, the formula in D11 is:

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

How this formula works

The SUMPRODUCT function multiplies ranges or arrays together and returns the sum of products. This sounds boring, but SUMPRODUCT is an elegant and versatile function, which this example illustrates nicely.

In this example, SUMPRODUCT is configured with two arrays. The first array is the range that holds product pricing:

$C$5:$C$9

Note the reference is absolute to prevent changes as the formula is copied to the right. This range evaluates to the following array:

{99;69;129;119;49}

The second array is generated with this expression:

--(D5:D9="x")

The result of D5:D9="x" is an array of TRUE FALSE values like this:

{TRUE;TRUE;FALSE;FALSE;FALSE}

The double negative (--) converts these TRUE FALSE values to 1s and 0s:

{1;1;0;0;0}

So, inside SUMPRODUCT we have:

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

The SUMPRODUCT function then multiplies corresponding items in each array together:

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

and returns the sum of products, 168 in this case.

Effectively, the second array acts as a filter for the values in the first array. Zeros in array2 cancel out items in array1, and 1s in array2 allow values from array1 to pass through into the final result.

With a single array

SUMPRODUCT is set up to accept multiple arrays, but you can simplify this formula a bit by providing a single array at the start:

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

The math operation (multiplication) automatically coerces the TRUE FALSE values in the second expression to ones and zeros, with no need for a double negative.

Author 
Dave Bruns

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.