Solved

Calculating latest 10 results in excel 2003

Posted on 2011-03-15
8
259 Views
Last Modified: 2012-05-11
Hi there,

I'm having real difficulty finding a formula to calculate the last 10 results in a range of cells.
Say I have 10-1 in Cells A1-A10. So 10 in A1, 9 in A2 etc...
I want to find a formula which will calculates the average of these cells, but everyday someone inputs a new figure at the top of this set in A1 by inserting a new cell.
So lets say they add 11 to A1, the rest of the column will have 10 in A2, 9 in A3 etc... all the way to A11. Each day a new figure is added at the top, pushing the others downwards.
Is there a formula which will calculate only the A1 through to A10 averages?

Thanks, Screenshot attached to help visualise.

Doc1.doc
0
Comment
Question by:riverbank
8 Comments
 
LVL 8

Expert Comment

by:2toria
ID: 35136953
Yes, type this:-

=AVERAGE($A$1:$A$10)

And that should do it for you.   Is that what you meant?
Matt
0
 
LVL 50

Accepted Solution

by:
barry houdini earned 250 total points
ID: 35136958
If you always want to average A1:A10 and don't want that to change when you insert cells then try using INDIRECT, i.e.

=AVERAGE(INDIRECT("a1:a10"))

regards, barry
0
 
LVL 19

Expert Comment

by:Raheman M. Abdul
ID: 35136964
VBA use function to calculate

Function Tryit()
Range("$B$1").Value = Application.WorksheetFunction.Average(Range("A1:A10"))
End Function
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 6

Expert Comment

by:akajohn
ID: 35137034
Two named ranges defined:

ListA
=OFFSET(INDIRECT("A1"),0,0,COUNTA(Sheet1!$A:$A),1)

and List10 (The last 10 values)
=OFFSET(ListA,ROWS(ListA)-10,0,10,1)

The sum of the last 10 numbers is the attached file is always 55 (Sum of the last 10 numbers, 1 to 10) no matter how many cells you insert in A1.

The sum you need is always

=SUM(List10)

Hope I understood this well. I tested on Excel 2003.

A>
Last10-aka.xls
0
 
LVL 6

Expert Comment

by:akajohn
ID: 35137135
Alternatively if you like complex formulas

The sum you need is

=SUM(OFFSET(OFFSET(INDIRECT("A1"),0,0,COUNTA(Sheet1!$A:$A),1),ROWS(OFFSET(INDIRECT("A1"),0,0,COUNTA(Sheet1!$A:$A),1))-10,0,10,1))

With a word of warning, inserting a blank cell spoils the result. However if you always have numbers in column A it works.

A>
0
 
LVL 50

Expert Comment

by:barry houdini
ID: 35137170
Wouldn't my suggestion be a little simpler?  :)

regards, barry
0
 
LVL 6

Expert Comment

by:akajohn
ID: 35137191
That's correct Barry. riverbank - Please ignore my answer. I actually calculated the sum of last 10 entries, not the first 10 entries. Obviously Read it in a hurry. "latest" is bit different from "last"!

A>
0
 
LVL 1

Author Closing Comment

by:riverbank
ID: 35147095
Thanks Barryhoudini, that has worked a treat. Thank you akajohn also for your suggestions, however barry's solution worked so I didn't try yours.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INDEX and MATCH can be used to great effect to replace HLOOKUP and VLOOKUP as it does not have the limitation of needing the data to be sorted so that the reference value is in the first column or row. It also has the ability to perform a bi-directi…
This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question