Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Worksheet Functions / October 2007

Tip: Looking for answers? Try searching our database.

Average not including Zeros/Blanks

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
DaS - 17 Oct 2007 16:30 GMT
I am using the following formula for an average function, but it doesn't
quite do what I need it to do.

=AVERAGE(IF(F3:F38<>0,F3:F37))

There are cells in this that I need to omit from the average, because they
are a subtotaled average for the week.  I need to somehow remove F10, F18,
F26, F34, and F38 while the formula still calculates the average for the
cells that have information in them, omitting the blank cells.  I did some
looking around on the forum (that's where I got the above formula) and didn't
find anything that would fit.  Thanks.
Don Guillett - 17 Oct 2007 16:36 GMT
The ARRAY formula presented should work IF you array enter it using
CTRL+SHIFT+ENTER

Signature

Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com

>I am using the following formula for an average function, but it doesn't
> quite do what I need it to do.
[quoted text clipped - 8 lines]
> didn't
> find anything that would fit.  Thanks.
DaS - 17 Oct 2007 16:44 GMT
My apoligies...I forgot to type in the brackets.  It is entered as an array,
but the problem is that the "subtotaled" cells for the week, that average the
week ahead, are being included into the overall picture.  I need those cells
removed from the equation.  

> The ARRAY formula presented should work IF you array enter it using
> CTRL+SHIFT+ENTER
[quoted text clipped - 11 lines]
> > didn't
> > find anything that would fit.  Thanks.
Don Guillett - 17 Oct 2007 16:51 GMT
You do NOT type in the brackets. You enter the formula using cse
Show your layout or send me a file to the address below along with copies of
these posts snipped onto a sheet and full details of what you desire.
Signature

Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com

> My apoligies...I forgot to type in the brackets.  It is entered as an
> array,
[quoted text clipped - 23 lines]
>> > didn't
>> > find anything that would fit.  Thanks.
JE McGimpsey - 17 Oct 2007 17:03 GMT
I think the OP meant that he didn't type in the brackets in his post. He
obviously knows what array-entering means...

> You do NOT type in the brackets. You enter the formula using cse
> Show your layout or send me a file to the address below along with copies of
> these posts snipped onto a sheet and full details of what you desire.
JE McGimpsey - 17 Oct 2007 17:01 GMT
Well, no, it won't.

First, the ranges need to be the same size.

Second, it won't remove the cells the OP wants it to.

This should work:

=SUMPRODUCT(--(MOD(ROW(F3:F37),8)<>2), --(F3:F37<>0),F3:F37)/
SUMPRODUCT(--(MOD(ROW(F3:F37),8)<>2), --(F3:F37<>0))

> The ARRAY formula presented should work IF you array enter it using
> CTRL+SHIFT+ENTER
[quoted text clipped - 11 lines]
> > didn't
> > find anything that would fit.  Thanks.
DaS - 17 Oct 2007 17:43 GMT
That worked great.  Thanks JE, also for identifying the whole "bracket"
mix-up.  I hate to be a bother, but could you explain how the formula works?

> Well, no, it won't.
>
[quoted text clipped - 22 lines]
> > > didn't
> > > find anything that would fit.  Thanks.
JE McGimpsey - 17 Oct 2007 18:29 GMT
Briefly:

   (F3:F37<>0)

returns an array of 35 TRUE/FALSE values.

   --(F3:F37<>0)

converts the array to 1/0 (see

   http://www.mcgimpsey.com/excel/doubleneg.html

for more explanation).

   --(MOD(ROW(F3:F37),8)=2)

returns an array of 35 1s/0s depending on whether each row's row number,
when divided by 8, has a remainder of 2.

Those arrays are multiplied to return an array of 1s/0s (1 for rows for
which the remainder<>2 and the value<>0).

In the denominator, SUMPRODUCT() then adds those 1/0 to get a count of
valid values.

In the numerator, the arrays are further multiplied by the array of
values in F3:F37. Where both the remainder <> 2 and the value <>0, the
cell's value is returned in the array. SUMPRODUCT() then adds those
values in the array.

Dividing the sum of valid values by the count of valid values gives the
average.

> That worked great.  Thanks JE, also for identifying the whole "bracket"
> mix-up.  I hate to be a bother, but could you explain how the formula works?
[quoted text clipped - 9 lines]
> > =SUMPRODUCT(--(MOD(ROW(F3:F37),8)<>2), --(F3:F37<>0),F3:F37)/
> > SUMPRODUCT(--(MOD(ROW(F3:F37),8)<>2), --(F3:F37<>0))
David Biddulph - 17 Oct 2007 16:58 GMT
To start with, you probably need the 2 arrays to be the same length.
Signature

David Biddulph

>I am using the following formula for an average function, but it doesn't
> quite do what I need it to do.
[quoted text clipped - 8 lines]
> didn't
> find anything that would fit.  Thanks.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.