Excel - Verwenden einer Zellreferenz auf einem anderen Blatt in einer RAND-Formel

318
Richard Cosgrove

Weiß jemand, ob es möglich ist, die Wahrscheinlichkeitsreferenz in einem RAND-Befehl durch eine Zellreferenz auf ein anderes Arbeitsblatt zu ersetzen?

Ich verwende die grundlegende Formel für die gewichtete zufällige Textauswahl. Die Idee ist, dass ich die Zellen einfach nach unten ziehen kann, um ein Blatt auszufüllen.

Auf einem anderen Blatt habe ich einen Taschenrechner erstellt, der die kumulative Wahrscheinlichkeit für jeden Eintrag summiert.

Da ich die Formel manuell bearbeiten muss, um die Wahrscheinlichkeiten zu aktualisieren. Eine Zeitersparnis wäre, wenn ich die Wahrscheinlichkeiten in den geschweiften Klammern durch die Zellenreferenz aus dem Rechnerblatt ersetzen könnte, dh ),"One","Two","Three","Four","Five","Six","Seven","Eight","Nine")

Die Arbeitsmappe - dies ist ein Dropbox-Link zum eigentlichen Arbeitsblatt. Es ist geeky: Ich habe es für das Werewolf The Apocalypse-Rollenspiel geschafft.

1
Sie versuchen es einfach auf diese Weise: `= WÄHLEN (H105, G105, G106, G107, G108, G109, {" Eins "," Zwei "," Drei "," Vier "," Fünf "})) in` H105 "Sie können einen Wert zwischen" 1 "bis" 5 "angeben, Excel gibt den entsprechenden Wert von Cell zwischen" G105 "bis" G109 "zurück. Rajesh S vor 5 Jahren 0
Ist die Anzahl der Wahrscheinlichkeiten fest oder variiert das auch. In diesem Beispiel haben Sie beispielsweise Werte von 0, 0,05, 0,15 ... bis 1, dh insgesamt 10 Werte. Bleibt diese Zahl von 10 konstant? pat2015 vor 5 Jahren 0
Wenn RAND () eine Zahl generiert, die noch niedriger als der niedrigste Wahrscheinlichkeitswert ist, können Sie #WERT oder #NA-Fehler erhalten. Ich denke, Ihre Wahrscheinlichkeit sollte mit 0 beginnen und mit 1 enden, damit die Formel immer funktioniert. Auch RAND ist eine flüchtige Funktion, so dass es sich bei jedem Arbeitsblattänderungsereignis immer neu berechnet. pat2015 vor 5 Jahren 0
Rajesh - Danke, aber die Zellen, auf die ich mich beziehen muss, befinden sich auf einem anderen Blatt. Wenn ich aber "Sheet! A1" eingebe, bekam ich Fehler. Richard Cosgrove vor 5 Jahren 0
Pat2015 - Die Anzahl der Wahrscheinlichkeiten kann variieren. Aber ich stellte fest, dass die Gewichtung einer Wahrscheinlichkeit effektiv auf Null gesetzt wurde, dass sie nicht ausgewählt wurde. Ich habe die Blätter so eingestellt, dass sie manuell berechnet werden. Sie werden also nur dann aktualisiert, wenn sie dazu aufgefordert werden. Richard Cosgrove vor 5 Jahren 0
@RichardCosgrove, überprüfen Sie dieses Problem ohne Probleme mit der Sheet-Referenz, `= CHOOSE (E105, Sheet3! C160, Sheet3! C161, Sheet3! C162, Sheet3! C1633, Sheet3! C164, {" Eins "," zwei ", "Drei", "Vier", "Fünf"}) `. * Ihr Fehler ist "Sheet! A1", dass Sie die Blattnummer nicht hinzugefügt haben und "Sheet2! A1" sollte * Rajesh S vor 5 Jahren 0
Rajesh - Diese Formel ist nicht das, was ich tun muss. Ich brauche die Formel, um zufällig Text auszuwählen und die Wahrscheinlichkeiten aus Text in einer anderen Zelle in einem anderen Arbeitsblatt auszuwählen. Anstelle von '(RAND (), ; A1)" in LO Calc 6.0.3.2 wurden die gleichen Ergebnisse wie bei Apache OpenOffice erzielt: Es findet das erste Argument ("1"), ignoriert jedoch alle anderen ("2") in diesem Fall). Es tut also nicht, was Excel angeblich tut. Richard Cosgrove vor 5 Jahren 0

1 Antwort auf die Frage

1
pat2015

Am besten, was ich deine Frage am besten verstehe, schlage ich eine Lösung vor. Überprüfen Sie an Ihrem Ende und überprüfen Sie, ob es Ihren Anforderungen entspricht.

Ich sehe, dass Sie Wahrscheinlichkeit als einen Bereich betrachten. wie 0 - 0,4, 0,4 - 0,65 und so weiter. Der letzte Wert muss automatisch 1 sein, da RAND auch eine Zahl zwischen 0 und <1 generiert.

Erstellen Sie in Ihrem Arbeitsblatt beispielsweise 'Rangwahrscheinlichkeiten' so eine Tabelle. Ich hoffe, das ist selbsterklärend. Sie beginnen mit 0 oben und beziehen sich dann auf den vorherigen Wert in der ursprünglichen Wahrscheinlichkeitsspalte in den jeweiligen Zellen.

In Ihrem Hauptblatt z. B. "Sept" die folgende Formel in Zellen D2 & unten einfügen.

=CHOOSE(MATCH(RAND(),TRANSPOSE('Rank probabilities'!$D$2:$D$7)),"1","2","3","4","5","6") 

Drücken Sie in der Formelleiste jetzt CTRL+ SHIFT+ ENTER, um eine Array-Formel zu erstellen. Die Formel wird nun in geschweifte Klammern eingeschlossen, um anzuzeigen, dass es sich um eine Array-Formel handelt.

Kopieren Sie es entlang der vorgesehenen Zeilen nach unten und drücken Sie dann F9, um manuell zu berechnen. TRANSPOSE führt den Trick aus, die vertikale Spalte von Wahrscheinlichkeiten in ein horizontales Array zu transponieren und ersetzt Ihr manuelles Array von Zahlen in Ihrer Formel.

Siehe den folgenden Screenshot von GIF zu Momentaufnahme. Testen Sie an Ihrem Ende und bestätigen Sie, ob dies für Sie funktioniert. In diesem Beispiel wird nur das Blatt "Sept" -Spalte D geändert, um den Formelansatz wiederzugeben. Sie können dasselbe auch für andere Instanzen replizieren.

Danke: das ist wunderbar - genau das, was ich wollte. Sie haben mir stundenlang Gehirnschmerzen von Excel und Würfeln erspart! Richard Cosgrove vor 5 Jahren 0