# How do I calculate average Cycletime?

Hello experts:

See attached sample file.  I used a good formula to calculate average cycletime based on one condition.  The results suggest that the furmula I'm using for overall cycletime is inaccurate.

Help?

Gary
Cycletime-Avg-per-Zone-EE-2.xls
###### Who is Participating?

Commented:
Hello Gary,

The original formula I suggested for the linked question is valid and worked OK for the sample data you showed because you didn't have any blanks, so in that formula

=SUMIF(B\$2:B\$8,B16,C\$2:C\$8)/MAX(1,COUNTIF(B\$2:B\$8,B16))

You sum all the rows that match a specific criteria and divide by the count of rows that match that specific criteria, that gives the average - technically that's still correct for your new data.....but it doesn't account for blank rows - if you want to ignore blanks then you need to sum all the rows that match the criteria but divide by a different number - all the rows that match the criteria but aren't blank - AVERAGEIF does that automatically as BusyMama demonstrates....but in Excel 2003 you need to either use an array formula with AVERAGE or a longer version of the formula I suggested previously, i.e. either this formula

=AVERAGE(IF(\$A\$3:\$A\$10037=A10045,IF(\$B\$3:\$B\$10037<>"",\$B\$3:\$B\$10037)))

confirmed with CTRL+SHIFT+ENTER

or this ordinary formula

=SUMIF(\$A\$3:\$A\$10037,A10045,\$B\$3:\$B\$10037)/SUMPRODUCT((\$A\$3:\$A\$10037=A10045)*(\$B\$3:\$B\$10037<>""))

both will give the same result as shown in the attached in columns D and E

I note that you are using SUBTOTAL to get the overall average - a simple AVERAGE function is easier - also I'm not sure  why you are using those OFFSET functions - it's simpler to just refer to the ranges directly

regards, barry

27312687.xls
0

Commented:
That is providing the average.

You are adding up the cycle time for each zone in the formulas below (with the SUMIF).
0

Commented:
Disregard my last comment.  :P

I will look more later, unless somebody else posts before I do, which is fine.
0

Commented:
I think there's something funky with the original averaging ...

Here I used AVERAGEIF and AVERAGE instead, and it seems reasonable to me.
Cycletime-Avg-per-Zone-EE-2-1-.xls
0

Author Commented:
Hi, BusyMama.

This looks like the right answer.  I like AVERAGEIF (never used it before).  What is the prefix (_xlfn.)??

Gary
0

Author Commented:
Experts:

This AVERAGEIF doesn't work in Excel 2003.  Creates #NAME? errors.

What would?

Gary
0

Commented:
AVERAGEIF debuted in Excel 2007.  You need an array formula for earlier versions of Excel.  Assuming this goes into B10045:

{=AVERAGE(IF(\$A\$3:\$A\$10037=A10045,\$B\$3:\$B\$10037,""))}

To enter an array formula, do not enter the curly braces, and hit Ctrl+Shift+Enter instead of Enter to finish it off.  Excel will then display those braces to indicate that it's an array formula.

Copy that down through B10051.

For "All", you can simply use:

=AVERAGE(B3:B10037)
0

Author Commented:
Barry - thank you again for the "ordinary" formula and your thorough explanation, as usual.  I'm sorry my first example was missleading.

I'm always learning new formulas.  I like how EE saves previous questions for reference.

Thank you to others who attempted a solution.

Have a great weekend, wherever you are.

Gary
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.