# How to copy SUMPRODUCT on total lines

I've attached a worksheet that has subtotals on it.  I need to, on each subtotal line, put in the following formula (in cell E4):
=SUMPRODUCT(\$D2:\$D3,\$E2:\$E3/\$D4)

THere are a LOT of subtotals on this sheet.  I've been doing a copy paste from one subtotal line to another but everytime I paste I need to make sure that SUMPRODUCT is picking up the right ranges because they need to adjust based on the number of rows above.  So, for example, in cell E12, the formula needs to be =SUMPRODUCT(\$D8:\$D11,\$E8:\$E11/\$D12) because there more lines of data involved in the subtotal.  I need to automate this because it will take me hours to do this via copy/paste.  I was copying, again for example, E7 to E12 and adjusting the numbers in the formula and then copying that formula to columns F, G, and H.  I'm thinking that I can look for the word "Total" in column A (I'll have to parse out the word using a string function) but then I'm at a loss on how to continue.  I would like to do this in VBA but if there's a quick way to do it otherwise I'd like to know that also.
Thanks
testsumproduct.xlsx
###### Who is Participating?

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

EngineerCommented:
Enter this formula on I2 =SUMPRODUCT((\$A1:\$A\$2=\$A1)*\$D1:\$D\$2*I1:I\$2)/\$D
On I2 press ctrl-c
Press F5
Click on special
Select Blanks and click on OK
now paste-special formulas.
Author Commented:
I'm not sure I understand your formula.  Do you mean enter the formula on I4?  I'm testing it a number of different ways but I'm not sure what you're doing.
EngineerCommented:
No, I want you to copy the formula to I2. At this point it will give an error. Just follow the instructions above.
Chartered AccountantCommented:
This was screaming "pivot table" at me, except for the division by totals - the solution is made up of calculated pivot table fields, so enter once, use forever. This is like entering the sumproduct formula for 1260 and all future entries are done for you for all results.

If there is a catch it is that the underlying data needs an extra (very simple " a x b ") multiplication "helper" column per heading to be "sum producted".
In fact the latest Excel table technology will auto append calculation columns when placed to the right of a table of entered data, so additional entry time can be nil.

Because of the way pivot tables do calcs using field totals, which usually breaks everything, in this case it works in favour of the solution by returning all items to their original values except the totals, which get divided by the CustCount total, just as is required.

Double click the screen shot image to download and view more clearly. It shows the original data side by side with my pivot table solution.

I will attach the underlying file..
written on an old mac in Excel 2008, should NOT make any difference.

Note: all columns headed " ... sp " are pivot table calculated fields, write once, use forever. Each one divides the desired sum by the total of Cust Count, and pleasantly derives the right answers, afaics.

Anthony

edit: I have to say ssaqibh's solution is very nice and exactly what was asked for, in my solution I'm questioning the use of sumproduct in the first place in favour of the separation of data storage and reporting.
testPivotTable.xlsx
retiredCommented:
I've requested that this question be deleted for the following reason:

Not enough information to confirm an answer.
EngineerCommented:
I just realized when this delete request was put up that my formula had missed a digit at the end. I am attaching this digit now.

=SUMPRODUCT((\$A1:\$A\$2=\$A1)*\$D1:\$D\$2*I1:I\$2)/\$D2

This works.

Experts Exchange Solution brought to you by