formula to calculate the average of a range basing on condition

K

Krishna Mohan

Hi,
I have a situation like this below..
18-Feb-02 02-Jun-04
26-Jul-02 08-Jun-04
29-Jul-03 10-Jun-04
22-Oct-03 05-Jun-04
01-Nov-03 10-Jun-04
11-Nov-03 14-Jun-04
18-Nov-03 04-Jun-04
20-Dec-03 21-May-04
30-Mar-04 10-Jun-04
08-May-04 22-Jun-04
29-May-04 15-Aug-04


11-Jun-04 11-Jul-04
12-Jun-04 16-Jun-04
22-Jun-04 28-Jun-04
24-Jun-04 26-Jun-04

10-Dec-04 23-Dec-04



28-Aug-04 01-Sep-04
28-Sep-04 29-Sep-04
08-Dec-04 22-Dec-04

20-Aug-04 29-Aug-04

25-Aug-04 31-Aug-04
30-Aug-04 10-Sep-04
03-Jan-05 10-Jan-05
27-Sep-04 05-Oct-04
30-Sep-04 07-Oct-04
03-Oct-04 04-Oct-04

The above are two columns of excel. I want to calculate the average of the
difference for each month in another work sheet like bwlow

Month Difference..

Can some one help me on how I can do that
 
B

Bob Phillips

=SUMPRODUCT(--(A1:A100<>""),--(B1:B100<>""),(B1:B100-A1:A100))/SUMPRODUCT(--
(A1:A100<>""),--(B1:B100<>""))
 
B

Bob Phillips

Problem with that is that it averages blanks as well. I also noticed that
the last date is inverted in comparison to the others. Both can be overcome
with

=AVERAGE(IF(B1:B34-A1:A34<>0,ABS(B1:B34-A1:A34)))

which is still an array form ula.
 
M

Mangesh Yadav

Try the following:
Lets say you have your two columns in columns A and B.
In C enter the formula:
=MONTH(A1)
and drag down to copy.
In D, enter
=B1-A1
In E1 to E12, enter 1 to 12 for each month
In F, enter
=IF(COUNTIF($C$1:$C$26,E1)=0,"",SUM(--($C$1:$C$26=E1)*($D$1:$D$26))/COUNTIF(
$C$1:$C$26,E1))
press control shift enter
and drag down


Mangesh
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top