View Single Post
  #10   Report Post  
Posted to microsoft.public.excel.programming
kwh kwh is offline
external usenet poster
 
Posts: 13
Default Advanced Filtering by top scores

Alright, I will eliminate the Date range. Yes there are names that match.
No there are not any date greater than the 5th largest. I am 99% sure the
data does not have errors it.

I will try each element of the formula by itself to see where the error is
comming from. I will let you know how it comes out.


"Dave Peterson" wrote:

I would think that since you're looking for a single value--the average, then
the array formula would be a single cell formula.

=average() will ignore text and boolean values.

=if(test,"value if true")
will return "value if true" if test is true. It'll return False if test is
false.

ps. Excel is pretty smart, but I wouldn't use a named range of Date. It looks
too much like the worksheet function =date(). And excel may not get confused,
but I would.

Do you have any names that match A1 in that range called Name?

Do you have any dates greater than the 5th largest date in the range called
Date?

And you're sure that all the data in Name, Date, and Score has no errors in it,
right?

kwh wrote:

I did some further reading and working on Array formulas and have worked the
problem over. First I created unique item listing on another worksheet based
on the name field. I created Name ranges for the date, name, and score.
Next, I select a range of 5 colums and rows with the same number of the
unique names. I entered the equation as follows:
{=Average(if(Name=a1,if(Date=Large(Date,5),Score) ))} (Ctrl-Shift Enter). The
result is #N/A. Removing the average function, I receive a FALSE message.
This is considered a Multicell Array correct? Do you see error in my logic?

"Dave Peterson" wrote:

Share the formula that you used.

And double check to see if your data matches what you used in your formula.

kwh wrote:

I get a #DIV/0! result. Is the averaging complicating the issue? In the
end, like the auto filter, I would like a list of the five most recent dates
of each employees. I could manage the average another way. Any thoughts?

"Dave Peterson" wrote:

Did you remember to enter it as an array formula?

This is an array formula. Hit ctrl-shift-enter instead of enter. If you do it
correctly, excel will wrap curly brackets {} around your formula. (don't type
them yourself.)

kwh wrote:

I tried the equation and get a "#value" result. Looking at it more closely,
the "IF" statements are not completed. Only the first of the two arugments
are stated. I would assume that if the argument is not met you would want
some kind of message. What do you think?

"Barb Reinhardt" wrote:

In Excel 2003

A1:A10 are the names
B1:B10 are the dates
C1:C10 are the scores

=AVERAGE(IF(A1:A10="Barb",IF(B1:B10=LARGE(B1:B10, 5),C1:C10)))

Commit with CTRL SHIFT ENTER.
--
HTH,
Barb Reinhardt




"kwh" wrote:

I am requiring filtering of a list of employees over a who are scored on
performance over a period of time. I would like to filter for the top five
most recent dates for each employee and average the scores for that filtered
data.

Is that possible in advanced filtering? If so, how is it done?

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson