#### Finding Average of last 5 entries

```I'm trying to figure out a way to make an excel spreadsheet that will help me
out with my players golf scores.  I'd like a spreadsheet that I can enter
scores in for each player daily, but will only give me an average for the
lowest 4 out of their most recent 5 scores.  I'd like to have their older
scores still visible on the spreadsheet, but not used in the calculation of
their average.  In case I'm as confusing as I figure I am, here's an example:

Say Billy turns in 6 practice scores, I'd like the spreadsheet to have all 7
scores on it, but only give me an average of the 4 lowest scores he's turned
in out of his latest 5 scores....ignoring his first two scores.

```
 0
Utf
3/6/2010 6:02:01 AM
excel.worksheet.functions 4936 articles. 2 followers.

13 Replies
3697 Views

Similar Articles

[PageSpeed] 39

```On Fri, 5 Mar 2010 22:02:01 -0800, houndawg
<houndawg@discussions.microsoft.com> wrote:

>I'm trying to figure out a way to make an excel spreadsheet that will help me
>out with my players golf scores.  I'd like a spreadsheet that I can enter
>scores in for each player daily, but will only give me an average for the
>lowest 4 out of their most recent 5 scores.  I'd like to have their older
>scores still visible on the spreadsheet, but not used in the calculation of
>their average.  In case I'm as confusing as I figure I am, here's an example:
>
>Say Billy turns in 6 practice scores, I'd like the spreadsheet to have all 7
>scores on it, but only give me an average of the 4 lowest scores he's turned
>in out of his latest 5 scores....ignoring his first two scores.

Assuming that the scores are in column A starting in cell A1 and that
all scores are positive numbers.

Try this formula:

=AVERAGE(SMALL(OFFSET(A1,MAX((A1:A100>0)*ROW(A1:A100))-5,,5),{1,2,3,4}))

Note: This is an array formula that should be confirmed with
CTRL+SHIFT+ENTER rather than just ENTER.

Change the 100 in both places to reflect the maximum number of scores
to be in column A.

Hope this helps / Lars-�ke
```
 0
Lars
3/6/2010 7:17:58 AM
```If A1 contains players name and b1, c2, d1 etc contain scores.
I've made a very simple perhaps ugly solution.
In F2 input    =SUM(B1:F1)-MAX(B1:F1)
That gives the total less the highest - I'm struggling to average that
figure.  Logically it should be divided by 4 but it won't work.
To get round this in F3 input F2/4
Hide row 2
I only give this half baked solution as I'd love to know why my formula
won't work with a /4 tagged on.

--
Russell Dawson
Excel Student

"houndawg" wrote:

> I'm trying to figure out a way to make an excel spreadsheet that will help me
> out with my players golf scores.  I'd like a spreadsheet that I can enter
> scores in for each player daily, but will only give me an average for the
> lowest 4 out of their most recent 5 scores.  I'd like to have their older
> scores still visible on the spreadsheet, but not used in the calculation of
> their average.  In case I'm as confusing as I figure I am, here's an example:
>
> Say Billy turns in 6 practice scores, I'd like the spreadsheet to have all 7
> scores on it, but only give me an average of the 4 lowest scores he's turned
> in out of his latest 5 scores....ignoring his first two scores.
>
```
 0
Utf
3/6/2010 8:12:01 AM
```I meant to say that you can then drag the formulae across which will give you
a continous rolling average as scores come in.
--
Russell Dawson
Excel Student

"houndawg" wrote:

> I'm trying to figure out a way to make an excel spreadsheet that will help me
> out with my players golf scores.  I'd like a spreadsheet that I can enter
> scores in for each player daily, but will only give me an average for the
> lowest 4 out of their most recent 5 scores.  I'd like to have their older
> scores still visible on the spreadsheet, but not used in the calculation of
> their average.  In case I'm as confusing as I figure I am, here's an example:
>
> Say Billy turns in 6 practice scores, I'd like the spreadsheet to have all 7
> scores on it, but only give me an average of the 4 lowest scores he's turned
> in out of his latest 5 scores....ignoring his first two scores.
>
```
 0
Utf
3/6/2010 8:14:01 AM
```Are there/will there be any empty cells within the range? For example:

A2 = 77
A3
A4 = 82
A5 = 83
A6 = 80
A7
A8
A9 = 79

The average would include 77, 79, 80, 82.

What should happen if there aren't at least 5 scores?

--
Biff
Microsoft Excel MVP

"houndawg" <houndawg@discussions.microsoft.com> wrote in message
news:2C6AE611-E51E-4211-94B7-B6C09068F668@microsoft.com...
> I'm trying to figure out a way to make an excel spreadsheet that will help
> me
> out with my players golf scores.  I'd like a spreadsheet that I can enter
> scores in for each player daily, but will only give me an average for the
> lowest 4 out of their most recent 5 scores.  I'd like to have their older
> scores still visible on the spreadsheet, but not used in the calculation
> of
> their average.  In case I'm as confusing as I figure I am, here's an
> example:
>
> Say Billy turns in 6 practice scores, I'd like the spreadsheet to have all
> 7
> scores on it, but only give me an average of the 4 lowest scores he's
> turned
> in out of his latest 5 scores....ignoring his first two scores.
>

```
 0
T
3/6/2010 6:04:51 PM
```Hello,

> ...
> What should happen if there aren't at least 5 scores?
> ...

Does not matter. Array-enter
=AVERAGE(SMALL(A1:A99,ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),4)))))

Regards,
Bernd
```
 0
Bernd
3/6/2010 6:43:25 PM
```On 6 Mrz., 19:43, Bernd P <bplumh...@gmail.com> wrote:
> Hello,
>
> > ...
> > What should happen if there aren't at least 5 scores?
> > ...
>
> Does not matter. Array-enter
> =AVERAGE(SMALL(A1:A99,ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),4)))))
>
> Regards,
> Bernd

Not most recvent, though.

Regards,
Bernd
```
 0
Bernd
3/6/2010 7:06:47 PM
```>>What should happen if there aren't at least 5 scores?
>Does not matter.

You must have magical powers. You're so good you can read the OP's mind?

>=AVERAGE(SMALL(A1:A99,ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),4)))))

That won't do what the OP asked for.

--
Biff
Microsoft Excel MVP

"Bernd P" <bplumhoff@gmail.com> wrote in message
> Hello,
>
>> ...
>> What should happen if there aren't at least 5 scores?
>> ...
>
> Does not matter. Array-enter
> =AVERAGE(SMALL(A1:A99,ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),4)))))
>
> Regards,
> Bernd

```
 0
T
3/6/2010 7:08:40 PM
```Hello,

Two steps:

Array-enter into B1:B5:
=INDEX(A1:A99,LARGE(IF(A1:A99<>"",ROW(A1:A99)),ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),
5)))),1)

Then array-enter into C1:
=AVERAGE(SMALL(B1:INDEX(B1:B5,MIN(COUNTA(A1:A99),
5));ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),4)))))

But that's quite complex. Maybe better to take a UDF.

Regards,
Bernd
```
 0
Bernd
3/6/2010 7:24:37 PM
```>But that's quite complex.

Not really, but you're making it more complex than need be. Why 2 formulas?

--
Biff
Microsoft Excel MVP

"Bernd P" <bplumhoff@gmail.com> wrote in message
> Hello,
>
> Two steps:
>
> Array-enter into B1:B5:
> =INDEX(A1:A99,LARGE(IF(A1:A99<>"",ROW(A1:A99)),ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),
> 5)))),1)
>
> Then array-enter into C1:
> =AVERAGE(SMALL(B1:INDEX(B1:B5,MIN(COUNTA(A1:A99),
> 5));ROW(INDIRECT("1:"&MIN(COUNTA(A1:A99),4)))))
>
> But that's quite complex. Maybe better to take a UDF.
>
> Regards,
> Bernd

```
 0
T
3/6/2010 9:56:54 PM
```Hello Biff,

> ...
> Not really, but you're making it more complex than need be. Why 2 formulas?
> ...

Try it with one only. INDEX is "cell-bound". If you try it, take care
of possible gaps (empty cells) and of the fact that there might be

With a VBA function you could just start from the last entry, step
back to the fifth-last-filled, calculate the result and stop.

Regards,
Bernd
```
 0
Bernd
3/7/2010 8:49:58 AM
```>Try it with one only. INDEX is "cell-bound".
>If you try it, take care of possible gaps
>(empty cells) and of the fact that there
>might be less than 5 values, please.

Array entered...

=IF(COUNT(A2:A100),AVERAGE(SMALL(INDEX(A:A,LARGE((A2:A100<>"")*ROW(A2:A100),MIN(COUNT(A2:A100),5))):A100,ROW(INDIRECT("1:"&MIN(COUNT(A2:A100),4))))),"")

We can also use a non-volatile version but it would be a bit longer.

If the OP only wants the average if there are at least 5 scores...

Array entered...

=IF(COUNT(A2:A100)<5,"",AVERAGE(SMALL(INDEX(A:A,LARGE((A2:A100<>"")*ROW(A2:A100),5)):A100,{1,2,3,4})))

--
Biff
Microsoft Excel MVP

"Bernd P" <bplumhoff@gmail.com> wrote in message
> Hello Biff,
>
>> ...
>> Not really, but you're making it more complex than need be. Why 2
>> formulas?
>> ...
>
> Try it with one only. INDEX is "cell-bound". If you try it, take care
> of possible gaps (empty cells) and of the fact that there might be
> less than 5 values, please.
>
> With a VBA function you could just start from the last entry, step
> back to the fifth-last-filled, calculate the result and stop.
>
> Regards,
> Bernd

```
 0
T
3/7/2010 5:51:14 PM
```Hello Biff,

Nice one. Also quicker than mine.

I would not call it less complex, though.

The VBA solution which I had in mind:

Function Avg4Last5(r As Range) As Double
Dim i As Long, n As Long
Dim dSum As Double, dMax As Double
i = r.Count
n = 0
dSum = 0#
Do While i > 0 And n < 5
If Not IsEmpty(r(i)) Then
If r(i) > dMax Or n = 0 Then
dMax = r(i)
End If
dSum = dSum + r(i)
n = n + 1
End If
i = i - 1
Loop
Select Case n
Case 5
Avg4Last5 = (dSum - dMax) / 4#
Case 0
Avg4Last5 = CVErr(xlErrNum)
Case Else
Avg4Last5 = dSum / n
End Select
End Function

With about 200 rows this VBA is quicker than both worksheet function
approaches. Not that I think golfers play that many rounds - I just
think this VBA function is easier to use and to understand.

Regards,
Bernd
```
 0
Bernd
3/8/2010 7:47:54 PM
```>I just think this VBA function is easier to use and to understand.

And, because I'm not much of a programmer, I think formulas are easier to
use and understand!

--
Biff
Microsoft Excel MVP

"Bernd P" <bplumhoff@gmail.com> wrote in message
> Hello Biff,
>
> Nice one. Also quicker than mine.
>
> I would not call it less complex, though.
>
> The VBA solution which I had in mind:
>
> Function Avg4Last5(r As Range) As Double
> Dim i As Long, n As Long
> Dim dSum As Double, dMax As Double
> i = r.Count
> n = 0
> dSum = 0#
> Do While i > 0 And n < 5
>    If Not IsEmpty(r(i)) Then
>        If r(i) > dMax Or n = 0 Then
>            dMax = r(i)
>        End If
>        dSum = dSum + r(i)
>        n = n + 1
>    End If
>    i = i - 1
> Loop
> Select Case n
> Case 5
>    Avg4Last5 = (dSum - dMax) / 4#
> Case 0
>    Avg4Last5 = CVErr(xlErrNum)
> Case Else
>    Avg4Last5 = dSum / n
> End Select
> End Function
>
> With about 200 rows this VBA is quicker than both worksheet function
> approaches. Not that I think golfers play that many rounds - I just
> think this VBA function is easier to use and to understand.
>
> Regards,
> Bernd

```
 0
T
3/9/2010 12:00:29 AM

Similar Artilces:

I need to compare 3 numbers and find the one in the middle
I have three numbers in a single row and would like to identify the middle number enter that number in another cell. Example: 1st # 2nd # 3rd # result 628 678 720 678 655 625 700 655 748 720 725 725 is there a function in excel that can do this? Thanks, Eddie Try =LARGE(A1:C1,2) VBA Noo -- VBA Noo ----------------------------------------------------------------------- VBA Noob's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=3383 View this thread: http://www.excelforum.com/showthread.php?threadid=56811 fasteddie wrote.....

Find Duplicate names and delate
Dear experts, I have a small doubt could you clarify that??? That is I find duplicate name but I want to delete one name only, if I filter DUPLICATE….. both names are showing… 1. Select the range of data including the header. You need to have headers for these columns 2. From menu Data>Filter>Advanced Filter>Copy to another location 3. In 'copy to' specify the target cell and check 'Unique records only' 4. Click OK will give you the unique list -- Jacob "Find Duplicate names and delate" wrote: > Dear experts, > I have a small ...

Finding a Median
I'm trying to write a query that will return a median for various values taken from a previous query. I've seen some suggestions in my searching, but I haven't been able to get them working. They are also all from before 2003 and refer to Access 97 and 2000. Has any functionality been added to 2003 for this? Or is there a non- code-based way to do it? I've seen it suggested to write a code to open the query, sort it, find the total number of records, divide it in half, then seek out the middle record using that value. I'm still very green when it comes to code, though...

Find a Value the first Time It Occurs
I have a row of values that shows the total cumulative number of sales of items by month. Occasionally, there may be no sales in a month for an item so the cumulative value would stay the same for more than one month. I want to select a number in the row the first time it occurs and not select it if it repeats. What are you wanting to do with the info? To return position (column number) of number 1234 within row 2: =MATCH(1234,2:2,0) A formula that signals it's the first occurence: =COUNTIF(\$A2:A2,A2)=1 This could be used in a helper row, or as a conditional format f...

Fix the order of the last name and first name
How do I fix the order of the names, when the last name is first and the first name is second, separated by a comma. Hi! What order do you want them in? Biff >-----Original Message----- >How do I fix the order of the names, when the last name is first and the >first name is second, separated by a comma. >. > Hi try =TRIM(MID(A1,FIND(",",A1)+1,255)) & " " & TRIM(LEFT(A1,FIND(",",A1)-1)) -- Regards Frank Kabel Frankfurt, Germany Zami wrote: > How do I fix the order of the names, when the last name is first and > the first na...

Find/Replace in RichEdit 2.0
I'm using Windows ME and I've switched from RichEdit 1.0 to 2.0 for my CRichEditDoc/View application so that I can use the ITextDocument interface and can do things such as suspend/resume the Redo buffer. Problem is, now the Find/Replace dialogs don't seem to do anything. If I revert back to RichEdit 1.0 they do! What's going on? BUMP! adriangibbons@yahoo.co.uk (Adrian Gibbons) wrote in message news:<34a2acd5.0404130713.123dbaab@posting.google.com>... > I'm using Windows ME and I've switched from RichEdit 1.0 to 2.0 for my > CRichEditDoc/View application...

Find (but not find)
My program takes a name from sheet3 goes to sheet1 to Find the name. If it cannot find name, how do you do an If/End to Exit Do while or find out if name has been founf? I have "On Error Resume Next" in program. Thanks again for all your help Gordon As ALWAYS, post your code for comments & suggestions. -- Don Guillett Microsoft MVP Excel SalesAid Software dguillett1@austin.rr.com "Gordon" <gwelch1938@yahoo.com> wrote in message news:1184612089.486737.144020@n60g2000hse.googlegroups.com... > My program takes a name from sheet3 goes to sheet1 to Find the na...

How can I get the average of curves on a plot?
Hello! I would like to get the average curve from several curves on a plot. Is there a way to do this in Excel? (Background infromation: I have, say, 10 sets of XY points and I want to take the average of these to obtain a set of average X and Y points and plot them. However, each of these 10 sets have a different amount of XY points and I can't simply take the average across the row. Any solutions?) Thanks! -- jessie joe ------------------------------------------------------------------------ jessie joe's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=3...

Finding an event
Hello, I am developing an app that uses a single worksheet to enter data. When user double clicks a button, a new window (in same workbook) opens with a new sheet. My problem is that excel does not seem to have any events for close of window if there are multiple windows in a workbook. Can someone help Peter Peter, That triggers the Workbook_WindowActivate event, you can use that. HTH Bob "Peter Ostermann" wrote in message news:i9m5v8\$7bv\$02\$1@news.t-online.com... Hello, I am developing an app that uses a single worksheet to enter data. When user double clicks a button...

Find value in a column and insert rows above
The set up looks like this: ColU ColV ColW ColX Y N N N Y N N N N Y N N N N Y N N N Y N N N Y N N N Y N N N Y Y Columns will always be U through X and will always be sorted in this order. I need to find the first Y in each column and insert 2 rows above that row. On the blank row above the first Y, I need to highlight in yellow and put title in the first cell, such as New, Old, Existing, Deleted. Any help would be greatly appreciated. Thanks for your time, Dee If desired, send your file to my address below. I will only look if: 1. You send a copy of this ...

cannot find database
I have an excel spreadsheet that is supposed to update a access db. Whenever I try to save the .xls I get an error stating cannot find db. Even when I open the db with access, I get the error and the db opens anyway?????? This only happens on 2 out of 20 pc's and I cannot figure out why???????? Thanks ...

Cash receipts Entry
Hello, Is it possible to setup a General Ledger Account during entry in Cash Receipts?. I have a cheque where the amount is \$107 where \$105 is the amount and the \$2 is the bank charges and I wanted to put the \$2 on the bank charges account. If there is a setup I need to do, please let me know Thank You Kindly Why don't you just use 2 lines in the distribution? Credit one account \$105 and the bank charges account \$2? Or am I missing something? Is this under Transactions, Financial, Bank Transactions:Enter receipt? kingjack wrote: > Hello, > > Is it possible to setup ...

Sum if Condition is Equal in Range Date and find column
I want to make a sum if Range is a week number and if style is Equal to CONC-92 or CONC-45 Week# 49 Week# 50 CONC-92= 27 CONC-92= 30 CONC-45= 27 CONC-45= 30 Datas are in a pivot table and... Pivot table looks like this: Date CONC-92 CONC-45 CONC-92 CONC-45 12/7 5 5 10 10 12/8 2 2 10 10 12/9 5 5 10 10 12/10 5 5 10 10 please help -- Lorenzo Díaz Cad Technician ...

Trapping a NO FIND after a find
I use the code below to store a row number to a variable after a find. I would like to trap a NO FIND if the find is unsuccessfull Any ideas. FSt1 provided the code below Sub macfindrow() dim rn as string dim rng as range dim therow as long rn = inputbox("enter something to find") if rn <> "" then Set rng = nothing Set rng = range("A1:IV65536").Find(what:=rn, _ After:=Range("A1"), _ Lookin:=xlformulas, _ Lookat:=xlpart, _ ...

save as #5
Where is "save as" option in Excel 2007? I have a spreadsheet on USB drive and would like to save it to my hard drive. Mark click on the round logo of the Office in the upper-left corner of the Excel window -- KL [MVP - Microsoft Excel] RU: http://www.mvps.ru/Program/Default.aspx ES: http://mvp.support.microsoft.com/?LN=es-es EN: http://mvp.support.microsoft.com/?LN=en-us Profile: https://mvp.support.microsoft.com/profile=AB32F8EE-8ED3-4AB9-ADDA-9E6C73C09A36 "Mark" <dxt44@yahoo.com> wrote in message news:uRDm2CaXHHA.3272@TK2MSFTNGP03.phx.gbl... > Where is ...

average #2
Hi, problem. a colum with numbers and formulas, what needs to be done to get the average of just the numbers col-1 col-2 col-3 5 5 10 5 20 30 sum 1+2 formulas sum 1+2 sum 1+2 sum 1+2 Average - I can not get the cell to show the average of 20 Tanks for you help Frank -- fwburkey ------------------------------------------------------------------------ fwburkey's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=30314 View this thread: http://www.excelforum.com/showthread.php?threadid=499800 Is 20 supposed to be 25 If...

Formula for averaging times
I have a very large spreadsheet that tracks times. I have the formulas figured out fot the wait times that I need but I need to break them down by individual. There are approximately 15 different physicians listed in this spread sheet. I have a separate spreadsheet that I want to average the times for each physician. Example: Physician 1 "time to see physician" "wait time" "elapsed time" Physician 3 "time to see physician" "wait time" "elapsed time" Physician 1 "time to see physician" "wait time" &...

How do I find the out of office reply?
My out of office reply is missing from tools. How can I retrieve it? Out of Office reply <Out of Office reply@discussions.microsoft.com> wrote: > My out of office reply is missing from tools. How can I retrieve it? Unless you are using an Exchange server, you will not have the Out of Office Assistant. See this: http://www.slipstick.com/rules/autoreply.htm -- Brian Tillman ...

Inventory Valuation 7.5
Is there a crystal report that anyone has that calculates stock value / status using true layer costs and not a blended cost for version 7.5???? Thanks Ray ...

Help removing 5.5 server after migration
I have migrated from an Exchange 5.5 environment to a Exchange 2003. I have moved all the mailboxes, public and system folders, also removed all the connectors and am able to shut off the 5.5 server and still have all Exchange tasks work. So, I'm now ready to remove the 5.5 server from my administrative group. All the guides say to connect to the SRS server using Exchange 5.5 administrator and delete the 5.5 server from the administrative group. However, when I try to connect to the SRS server, I get an error message: Network problems are preventing connection to the Microsoft Exchange...

Finding numbers in rows and highlighting them
Hi everybody :) I need help. This is a lotto system. I have a spreadsheet with 508 rows and 45 columns. In each row there are 45 numbers mixed (1 to 45). I need a script or some other way to find where particular (drawn) numbers are in each of the 508 rows. If my explanation is not clear please ask for farther clarification. Thank you in advance for your help. Joh -- Johncobb4 ----------------------------------------------------------------------- Johncobb45's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=1658 View this thread: http://www.excelforum.com/showt...

How do I find data from a list (or table) and insert it in a row?
I used to use a spreadsheet program (2 years ago) that allowed me to lookup an item and insert it into the worksheet. I know the program was at least a year old at that time (2002). How do I create a list, reference it , and then insert an item into a row of my choice? Example: Make of item, item description, and cost. Does the data go on one worksheet and then get referenced and inserted into the list of another worksheet? If so, how? I can't seem to get any answers by reading books on the subject. I no longer have access to the old workbook from which to study. Maybe that ...

Last cell in row range with a result
I need to see if anyone can tell me if it's possible to find the last cell in a range that has a result and not just a formulas. We have this file that has a row of formulas as each cell it a different day of the month. In another file I need to pull the current cell and at this time I have to change the cell reference. Please let me know, thanks if you have a row of data , say row 3, with no included blanks, then the last value in that row is: =INDEX(\$3:\$3,COUNTA(\$3:\$3)) -- Gary''s Student - gsnu200713 Gary''s Student wrote: > if you have a row of data , say ...

How do I stop last number from changing to a 0 in excel
I have a worksheet that has one column that has account numbers. If I enter 16 or more digits the last numbers change to a 0. I have set, cell format to numbers with no decimals. Try setting cell format to text before entering or use an apostrophe then enter the number HTH Regards, Howard "dan12" <dan12@discussions.microsoft.com> wrote in message news:426335E4-F08B-4C23-B6E2-EB45F36101F5@microsoft.com... >I have a worksheet that has one column that has account numbers. If I enter > 16 or more digits the last numbers change to a 0. I have set, cell format > to &...