2013-04-25 9 views
9

In MS Excel, wie kann ich nach dem Zufallsprinzip eine Nummer aus einer Reihe von 5 Optionen berechnen?Excel Zufallszahl aus einer Reihe von Optionen

beispielsweise in der Zelle B1 würde Ich mag eine Zufallszahl haben, die entweder 15,30,50,75 ist oder 100.

I eine völlig zufällige Ausgabe dieser 5 Zahlen in Zellen möchte B1 : B100.

Ich dachte, dass ich eine Zufallszahl in Zelle A1 mit Hilfe von Rand generieren könnte, und dann eine Reihe von> oder < IF-Anweisungen verwenden, um nur eine dieser oben genannten Zahlen auszugeben.

+1

möglich duplicate von [Excel RANDBETWEEN als String] (http://stackoverflow.com/questions/16077013/excel-randbetween-as-a-string) –

Antwort

17

wird diese Formel es tun:

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

Wenn Sie einen Bereich von Zellen verwenden möchten:

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

WÄHLTE war die perfekte Lösung für mich in diesem Fall. +1 für die Alternative, wenn ich eine Reihe von Zellen haben kann. Danke – Ryan

0

Lasst uns sagen, dass Sie mit den Zeilen 1-5 in Zeile G von einer Tabelle ausgefüllt haben die Werte, die Sie zufällig anzeigen möchten. Sie können =INDIRECT("G"&RANDBETWEEN(1,5)) verwenden, um eine von diesen nach dem Zufallsprinzip anzuzeigen.

Mit `INDIREKT` können Sie eine Zelle mithilfe einer Zeichenfolge referenzieren.
Da Sie die Zellen "G1" - "G5" wollen, beginnen wir mit "G".
& kombiniert "G" mit dem Wert der nächsten Funktion.
Dann gibt uns die RANDBETWEEN-Funktion eine Zahl zwischen den beiden von uns bereitgestellten Parametern (in diesem Fall 1 bis 5).

Lassen Sie mich wissen, ob das hilft :)

+0

Das ist viel einfacher als die anderen Antworten, obwohl ich nicht glaube, dass es in der "Produktion" oder irgendeiner großen Tabelle zuverlässig ist. –

3

Eine schnelle und einfache Möglichkeit, zunächst eine Lookup-Liste wie folgt zu machen wäre:

enter image description here

Dann in Ihren Spalt wie diese eine Formel tun :

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

wo die $A$7:$B$16 ist, wo Ihre Liste an ist. Es kann auf einer anderen Registerkarte oder separaten Datei sein, wenn Sie es wirklich isolieren müssen.

Sie könnten auch eine benutzerdefinierte VBA-Funktion zu erstellen, aber ich denke, das ist jenseits dessen, was Sie suchen.

+1

hehe .. drei Lösungen auf einmal gepostet. Ich mag Dougs besser als meine. Upvoted es! –

+0

+1 für das Bild. – asifrc

-1

Wie wäre:

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

z.B. wenn Sie ein Array mit den 5 Zahlen haben Sie in $B$2:$B$6

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

Dies gibt eine zufällige Position in der Liste der Nummern verwenden möchten, mit der Gesamthäufigkeit von Zahlen wird definiert Größe des Arrays.

Verwandte Themen