Thread: AVERAGEIF
View Single Post
  #9   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Sowmya C[_2_] Sowmya C[_2_] is offline
external usenet poster
 
Posts: 3
Default AVERAGEIF

Wow...Thanks! That's really helpful and it surely works!
And I just changed the formula a little bit to save some labor instead of
changing the cell location in each and every formula. I created a separate
table which had 'C, blank, E, blank,..., Y' in the first row and
'26,27,28,29,30' in each column.
And the modified equation I used is:
=SUMPRODUCT(SUMIF(INDIRECT("'am
peak_"&10*{1,2,3,4,5,6,7,8,9,10}&"'!"&C$50&C51)," 0"))/SUMPRODUCT(COUNTIF(INDIRECT("'am peak_"&10*{1,2,3,4,5,6,7,8,9,10}&"'!"&C$50&C51)," 0"))

{for instance, here C50 has value 'C' and C51 has value '26'}
And this I could copy across the rows and columns.

Thanks a lot again for you help. Really appreciate it. All I had to do
was create one averaging sheet and copy that for the other 18 scenarios! It
made my job so much easier! :)

Som

"T. Valko" wrote:

I am looking to apply the conditional average
to alternate columns.


Hmmm...

That sounds like trouble!

This formula will average cell C26 across your 10 sheets excluding 0 and
negative values:

=SUMPRODUCT(SUMIF(INDIRECT("'am
peak_"&10*{1,2,3,4,5,6,7,8,10}&"'!C26"),"0"))/SUMPRODUCT(COUNTIF(INDIRECT("'am
peak_"&10*{1,2,3,4,5,6,7,8,9,10}&"'!C26"),"0"))

You can shorten the formula a little by using a defined name.

InsertNameDefine
Name: Sheets
Refers to: =10*{1,2,3,4,5,6,7,8,9,10}

Then:

=SUMPRODUCT(SUMIF(INDIRECT("'am
peak_"&Sheets&"'!C26"),"0"))/SUMPRODUCT(COUNTIF(INDIRECT("'am
peak_"&Sheets&"'!C26"),"0"))

--
Biff
Microsoft Excel MVP


"Sowmya C" wrote in message
...
Yes, that's right. I tried to work around with the solution previously
provided, for which i renamed the sheet as 'am peak_1', 'am peak_2' and so
on... as it seems to not recognize the increment of 10 (ie. 10, 20...).
And
it worked (with one particular cell location though)! But as the cell
location is a text in the above stated formula, I am not sure how I can
apply
that to a group of cells. As in my case, I am looking to apply the
conditional average to alternate columns.
In one of the other threads under the same topic, the suggestion was to
use
the IF statement and create another table, replacing <0 values by "" and
then
calculate average. Though the solution is pretty simple, I am hoping
there
would be a 'one formula' solution to this problem, as I need to extract
such
averages for 18 scenarios (ie. 18 different excel sheets)!

Thanks,
Som

"T. Valko" wrote:

average ... the same cell across 10 sheets
sheets are labeled 'am peak_10' to 'am peak_100'
ignoring the value if it is <=0

If you have 10 sheets named "10" to "100" then I'm assuming the names
increment by 10?

'am peak_10'
'am peak_20'
'am peak_30'
'am peak_40'
etc
etc
'am peak_100'


--
Biff
Microsoft Excel MVP


"Sowmya C" <Sowmya wrote in message
...
What if I have to take the average of the values located in the same
cell
across 10 sheets (ignoring the value if it is <=0). For instance, the
sheets
are labeled 'am peak_10' to 'am peak_100' and the cell location is C26.
I
am not quite familiar with the 'indirect' function hence not able to
comprehend the above solution.
Any help would be appreciated. Thanks!

"T. Valko" wrote:

You're welcome. Thanks for the feedback!

--
Biff
Microsoft Excel MVP


"JimG" wrote in message
...
AWESOME Solution! I would never had thought to try that.

Thank You very much!

"T. Valko" wrote:

Conditional calculations across sheets isn't easy. Try this:

=SUMPRODUCT(SUMIF(INDIRECT("'7-"&ROW(INDIRECT("1:31"))&"'!N:N"),"0"))/SUMPRODUCT(COUNTIF(INDIRECT("'7-"&ROW(INDIRECT("1:31"))&"'!N:N"),"0"))

--
Biff
Microsoft Excel MVP


"JimG" wrote in message
...
I have an AVERAGE IF formula that works fine on a single worksheet
for
July
1st...
=AVERAGEIF('7-1'!N:N,"0",'7-1'!N:N)

I need it to work across 31 worksheets, so it will accurately
calculate
the
averages for all values greater than zero, and for the entire
month.

Any ideas?