How to randomly select from a list with condition

  • Thread starter Thread starter kathyxyz
  • Start date Start date
K

kathyxyz

I have a list of twenty real number in A1 to A20.
How can I randomly select a number from the list, but not the one with
value = 0
If the selected number is zero, it will automatically select another
random number from the list.
The list is dynamic, so I don't know exactly when and where the ones
with zero value show up.
Thank you.

Katherine.
 
With 2 helper columns, you can try something like this:

A3:A20 = your data

B3 = IF(A3=0,500,ROW()) (Copy down)
C3 = SMALL(B$3:B$20,ROW()-2) (Copy down)

D3
OFFSET(A3,INDIRECT("C"&RANDBETWEEN(ROW(),ROW()+COUNTIF(C3:C20,"<500")-1))-ROW(),0)


Hope this helps.
 
It can also be calculated in a single cell:

=INDEX(LARGE(A1:A20,ROW(INDIRECT("1:"&(COUNT(A1:A20)-COUNTIF(A1:A20,0))))),RANDBETWEEN(1,COUNT(A1:A20)-COUNTIF(A1:A20,0)))


Ola Sandström
 
Just a quick note if you are using Olasa's formula, all data must b
positive numbers.
 
Thanks for spotting that Morrigan.
This works with both positive and negative number

=INDEX(LARGE(IF(A1:A20=0,"",A1:A20),ROW(INDIRECT("1:"&(COUNT(A1:A20)-COUNTIF(A1:A20,0))))),RANDBETWEEN(1,COUNT(A1:A20)-COUNTIF(A1:A20,0)))

However this formula MUST be confirmed by holding down Ctrl and Shift
and then hit Enter.

Ola Sandströ
 

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

Back
Top