finding 10 smallest numbers from last 20 input

H

handicapper

I can find the smallest 10 numbers from a range of 20 cells by using "Small".
But when the 21st. number is input I want to move the range down one to
account for the new number input. 2-21 instead of 1-20. So in the formula it
would still read the last 20 numbers. This could change every week so the
cell range would need to move to the latest input and drop off the oldest
(what would then be the 21st. oldest). As I understand it a dynamic range
would add a new cell to the range but I need to keep the range at 20 cells -
just change the range by one each time a number is input. The range is
column AB and the 10 smallest formula is in column AD4:AD13.

I hope this is clear and thanks for any help
 
M

Mike H

Hi,

Try this for the smallest of the last 20 and drag down for the second
smallest etc

=SMALL(OFFSET($A$1,COUNTA(A:A)-20,):OFFSET($A$1,COUNTA(A:A),),ROW(A1))


--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.
 
M

Mike H

modified for column AB as in your post, put this in AD4 and drag down

=SMALL(OFFSET($AB$1,COUNTA(AB:AB)-20,):OFFSET($AB$1,COUNTA(AB:AB),),ROW(AB1))
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.
 
S

Steve Dunn

in AD4:

=SMALL(OFFSET($A$B1,COUNT($A:$A)-20,,20),
ROW()-ROW(AD$4)+1)

Copied down to AD13.

Assumes no blank cells, and no other data in column AB.
 
T

T. Valko

Here's another one...

Assuming the range of scores is contiguous and there are at least 20 scores
available.

Entered in AD4 and copied down to AD13:

=SMALL(INDEX(AB$4:AB$100,MATCH(500,AB$4:AB$100)):INDEX(AB$4:AB$100,COUNT(AB$4:AB$100)-20),ROWS(AD$4:AD4))
 
H

handicapper

That does it exactly. I would never have worked it out on my own. Thanks
Mike and thanks also to the other contributors.
 
H

handicapper

HiMike,

Further to my last reply I now realise that there will be zeros in column AB
which I need to ignore. How would I do that please?

Thanks.
 
B

Bernd P

Hello,

Select cells AD4:AD13 and array-enter:
=SMALL(IF(INDEX(AB:AB,MAX(1,COUNT(AB:AB)-19)):INDEX(AB:AB,COUNT(AB:AB))<>0,INDEX(AB:AB,MAX(1,COUNT(AB:AB)-19)):INDEX(AB:AB,COUNT(AB:AB))),ROW(INDIRECT("1:10")))

Personally I would favor a small UDF for this, but you posted this
question in Excel.Worksheet.Functions...

Regards,
Bernd
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top