Clever-Excel-Forum

Normale Version: Zufällig Jemand aus Liste (Index) - aber nicht bei jeder Zelländerung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hi, ich habe ein Spalten A mit Namen. Jetzt wird einer aus dieser Spalte zufällig ausgewählt per: =INDEX(A3:A12;  ZUFALLSBEREICH(1;10))
externer Link entfernt


Das klappt. Doch jedes Mal, wenn ich irgendwo im Tabellenblatt etwas ändere - oder selbst in einem anderen Tabellenblatt, ändert sich die Person in B3. Das soll nicht so sein. Sondern nur, wenn ich irgendeine Bedingung habe, wie z.b. ein Click auf einen Commandbutton.
Hi Julia,

das geht meiner Meinung nach nur mit VBA.
o.k. danke, und wie geht das dann? Ich habe an mehreren Stellen diese Index-Zufallsformel stehen. Kann ich per VBA dann sagen, für Formel in Tabelle1 A4 und A5  und A6 (also da wo Indexformeln stehen) bitte nicht ausführen, wenn irgendwo etwas geändert wird. Nur wenn in A1=1 ist oder command-button x gedrückt wird(wo ich dann ein Makro hinterlege)?

Oder kann ich den Indexbefehl in en Makro schreiben & das Ergenis dieses dann in die entsprechende Zelle? Dann müsste ich nur wissen, wie man eine Formel per VBA ausführen kann...
Hi Julia, hi Conny,

eine Möglichkeit gibt es mithilfe einer Hilfsspalte und der Datenüberprüfung.

[attachment=14381]

Da durch das Tool die Datenüberprüfung so nicht angezeigt wird, sei mir ein "Bildchen" erlaubt.

Die Formel kommt in die Hilfsspalte (Kann einfach ausgeblendet werden), in die Nachbarzelle die Datenüberpfüfung. Als Quelle für die Liste wird die Formelzelle angegeben. Jetzt kann sich der Name ändern so oft er will, im Dropdownfeld bleibt der vorherige stehen, bis der neue ausgewählt wird.
Hi

kann man so machen. 
____|______A______|______B______|______C______|

   1|Ja           |             |             |
   2|             |             |             |
   3|N1           |N5           |             |
   4|N2           |             |             |
   5|N3           |             |             |
   6|N4           |             |             |
   7|N5           |             |             |
   8|N6           |             |             |
   9|N7           |             |             |
  10|N8           |             |             |
  11|N9           |             |             |
  12|N10          |             |             |

B3    =WENN(A1="Ja";INDEX(A3:A12;ZUFALLSBEREICH(1;10));B3)

In den Excel Optionen bei Formel -> Iterative Berechnungen aktivieren ( Anzahl 1). Wegen des Zirkelbezugs.
hi Günter, aber dann müsste ich ja tätig werden mit Auswahl - also per Maus und in die Tabelle gehen. Ein Command-button ist mir da lieber. Daher passt die Lösug von Elex perfekt. Lieben Dank euch beiden!

Was wird eigentlich zuerst ausgeführt? Ich schreibe das "Ja" in das Feld per VBA, also in A1. In diesem Augenblick wird der Zufallsname neu berechnet. Direkt danach schreibe ich ein "Nein" in das Feld. Wird dann(weil ja Änderung im Tabellenblatt) zunächst wieder der Name geändert um dann gleich zu bleiben, bis ich das nächste mal auf den Command-Button klicke? Oder wird bereits beim setzen auf "Nein" der nächste Zufallsname schon nicht mehr berechnet? Das sieht man ja nicht so schnell. (ist im Grunde Wurst für die Sache, aber frage ich mich gerade, wie Excel das handhabt)
Moin!
Alternative:
Schalte die automatische Berechnung ab und aktualisiere per F9

Gruß Ralf
Jo danke. Das gilt dann aber für alle Sachen, die geändert werden. Dann bin ich nur am F9 drücken. Die Lösung von Elex funktioniert sehr gut.