2013-04-25 3 views
9

In MS Excel, come posso calcolare a caso un numero che deriva da una serie di 5 opzioni?Excel Numero casuale da una serie di opzioni

Ad esempio, nella cella B1 Vorrei avere un numero casuale che è o 15,30,50,75, o 100.

Vorrei un'uscita completamente casuale di questi 5 numeri nelle celle B1 : B100.

Stavo pensando che è possibile generare un numero casuale nella cella A1 utilizzando rand, quindi utilizzando una serie di> istruzioni IF o < per produrre solo uno di questi numeri sopra.

+1

possibile duplicato di [Excel RANDBETWEEN come stringa] (http://stackoverflow.com/questions/16077013/excel-randbetween-as-a-string) –

risposta

17

Questa formula lo farà:

=CHOOSE(RANDBETWEEN(1,5),15,30,50,75,100) 

Se si desidera utilizzare un intervallo di celle:

=INDEX($B$2:$B$6,RANDBETWEEN(1,5)) 
+1

SCEGLIERE è stata la soluzione perfetta per me in questo caso. +1 per l'alternativa quando posso avere un intervallo di celle. Grazie – Ryan

0

Diciamo che hai riempito le righe 1-5 in fila G di un foglio di calcolo con i valori che si desidera visualizzare in modo casuale. Puoi usare =INDIRECT("G"&RANDBETWEEN(1,5)) per visualizzarne uno a caso.

`INDIRETTO` consente di fare riferimento a una cella utilizzando una stringa.
Poiché si desidera celle "G1" - "G5", iniziamo con "G".
e combina "G" con il valore della funzione successiva.
Quindi la funzione RANDBETWEEN ci darà un numero tra i due parametri che forniamo (in questo caso da 1 a 5).

fatemi sapere se questo aiuta :)

+0

Questo è molto più semplice delle altre risposte, anche se non penso sia affidabile in "produzione" o in qualsiasi foglio di calcolo su larga scala. –

3

Un modo semplice e veloce sarebbe quella di fare prima un elenco di ricerca come questa:

enter image description here

Poi nella colonna fare una formula come questa :

=VLOOKUP(ROUND(RAND()*10,0),$A$7:$B$16,1,FALSE) 

dove il $A$7:$B$16 è dove la vostra lista è a. Può essere su una scheda diversa o su un file separato, se è davvero necessario isolarlo.

Si potrebbe anche creare una funzione VBA personalizzata, ma penso che sia al di là di ciò che si sta cercando.

+1

hehe .. tre soluzioni pubblicate tutte in una volta. Mi piace che Doug sia migliore del mio. Lo ha svalutato! –

+0

+1 per l'immagine. – asifrc

-1

ne dite:

=SMALL({array containing numbers},RANDBETWEEN(1,COUNT({array containing numbers}))) 

esempio se si dispone di una matrice contenente i 5 numeri che si desidera utilizzare in $B$2:$B$6

=SMALL($B$2:$B$6,RANDBETWEEN(1,COUNT($B$2:$B$6))) 

Questo restituisce una posizione casuale nella lista dei numeri, con la frequenza totale di numeri che sono dimensione della matrice definita.