Seda Başkan
Seda Başkan

Reputation: 37

Is there any option to do FOR loop in excel?

I have an excel that I'm calculating my Scrum Task's completed average. I have Story point item also in the excel. My calculation is:

Result= SP * percentage of completion --> This calculation is for each row and after that I sum up all result and taking the summary. But sometimes I am adding new task and for each task I am adding the calculation to the average result.

Is there any way to use for loop in the excel?

for(int i=0;i<50;i++){ if(SP!=null && task!=null)(B+i)*(L+i)}

enter image description here My calculation is like below:

AVERAGE((B4*L4+B5*L5+B6*L6+B7*L7+B8*L8+B9*L9+B10*L10)/SUM(B4:B10))

Upvotes: 1

Views: 73

Answers (1)

trincot
trincot

Reputation: 350941

First of all, AVERAGE is not doing anything in your formula, since the argument you pass to it is just one single value. You already do an average calculation by dividing by the sum. That average is in fact a weighted average, and so you could not even achieve that with a plain AVERAGE function.

I see several ways to make this formula more generic, so it keeps working when you add rows:

1. Use SUMPRODUCT

=SUMPRODUCT(B4:B100,L4:L100)/SUM(B4:B100)

The row number 100 is chosen arbitrarily, but should evidently encompass all data rows. If you have no data occurring below your table, then it is safe to add a large margin. You'll want to avoid the situation where you think you add a line to the table, but actually get outside of the range of the formula. Using proper Excel tables can help to avoid this situation.

2. Use an array formula

This would be a second resort for when the formula becomes more complicated and cannot be executed with a "simple" SUMPRODUCT. But the above would translate to this array formula:

=SUM(B4:B100*L4:L100)/SUM(B4:B100)

Once you have typed this in the formula bar, make sure to press Ctrl+Shift+Enter to enter it. Only then will it act as an array formula.

Again, the same remark about row number 100.

3. Use an extra column

Things get easy when you use an extra column for storing the product of B & L values for each row. So you would put in cell N4 the following formula:

=B4*L4

...and then copy that relative formula to the other rows. You can hide that column if you want.

Then the overal formula can be:

=SUM(N4:N100)/SUM(B4:B100)

With this solution you must take care to always copy a row when inserting a new row, as you need the N column to have the intermediate product formula also for any new row.

Upvotes: 1

Related Questions