Registriert seit: 09.01.2020
Version(en): 365
09.01.2020, 17:51
(Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2020, 18:04 von WillWissen.
Bearbeitungsgrund: Formatierung
)
Hallo zusammen,
trotz langer Recherche bin ich leider nicht fündig geworden und hoffe, dass Ihr mir hier helfen könnt (und ich an der richtigen Stelle hier bin).
Ich möchte mir aus der Spalte A ein zufälliges Wort anzeigen lassen. Dabei sind im Moment in der Spalte A ca. 20 Zeilen ausgefüllt (mit jeweils einem unterschiedlichen Wort, keine Lücken), aber es könnten noch weitere Zeilen dazukommen und es werden ggf. welche wieder gelöscht.
Ich bin jetzt bereits auf folgende Formel gekommen, die mir für einen bestimmten Bereich z.B. 1-20 ein zufälliges Wort anzeigt.
=INDEX($A$1:$A$20;ZUFALLSBEREICH(1;20))
Nun möchte ich die Formel auf die gesamte Spalte A erweitern, da ja noch weitere Zeilen über 20 hinaus dazukommen könnten, ich in diesem Fall aber nicht die gesamte Formel umstellen möchte.
Meine erste Überlegung war:
=INDEX($A:$A;ZUFALLSBEREICH(A;A))
Aber dann kommt nur #NAME? als Wert heraus.
Kennt jemand eine einfache Lösung (möglichst ohne Markos/VBA)?
PS.: Ich möchte die Funktion durch einen Button (Makro) starten und habe daher in dieser Tabelle die automatische Berechnung deaktiviert. Somit kann ich mir per Knopfdruck quasi ein zufälliges Wort angeben lassen, dass dann nicht bei jeder neuen Eingabe wieder durch ein anderes zufälliges Wort ausgetauscht wird. (Das Makro und die deaktivierte auto-Berechnung ist aber hier nicht das Problem ;) )
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi,
ich würde es so lösen:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D |
1 | Liste | Hilfszahlen | | Auswahl |
2 | aa | 2 | | bb |
3 | bb | 3 | | |
4 | cc | 4 | | |
5 | dd | 5 | | |
6 | ee | 6 | | |
7 | ff | 7 | | |
8 | gg | 8 | | |
9 | hh | 9 | | |
10 | ii | 10 | | |
11 | jj | 11 | | |
12 | zzz | 12 | | |
13 | yyy | 13 | | |
14 | äääää | 14 | | |
Zelle | Formel |
B2 | =WENN([@Liste]<>"";ZEILE();"") |
D2 | =INDEX(Tabelle1[Liste];ZUFALLSBEREICH(2;ANZAHL(Tabelle1[Hilfszahlen])+1)-1) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Die Hilfsspalte kannst du ausblenden; wichtig ist nur, dass du deine Begriffespalte als Tabelle formatierst (Strg-T). Die Tabelle erweitert sich mit neuem Begriffseintrag automatisch.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 11.04.2014
Version(en): 2021
09.01.2020, 18:38
(Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2020, 18:40 von Glausius.)
Hallo,
such dir eine beliebige Zelle aus und trage dort folgende Formel ein: =ANZAHL2($A:$A) - ich habe zum Beispiel D1 genommen, kannst du anpassen.
Ausgegeben wird Dein Zufallswort dann mit der Formel: =INDEX($A:$A;ZUFALLSBEREICH(0;D1)) - wobei die Zahl in D1 für den Zufallsbereich verwendet wird!
Ausblenden kannst du die Anzeige in der Zelle D1 mittels benutzerdefinierter Formatierung dieser mit: ;;;
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
09.01.2020, 19:52
(Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2020, 19:52 von RPP63.)
Moin!
Wie verträgt sich das:
Zitat:(möglichst ohne Markos/VBA)
mit dem:
Zitat:Ich möchte die Funktion durch einen Button (Makro) starten
Davon ab, ganz ohne Hilfsspalte oder -zelle:
=INDEX(A:A;ZUFALLSBEREICH(1;ANZAHL2(A:A)))Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Ralf,
so ähnlich hatte ich auch anfangs gedacht. Allerdings wird hier die Überschrift auch das ein oder andere Mal ausgewählt.
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | C | D | E |
1 | Begriffe | | Auswahl | |
2 | aa | | gg | Begriffe |
3 | bb | | | |
4 | cc | | | |
Zelle | Formel |
D2 | =INDEX(Tabelle1[[Begriffe ]];ZUFALLSBEREICH(2;ANZAHL(Tabelle1[Hilfszahlen])+1)-1) |
E2 | =INDEX(A:A;ZUFALLSBEREICH(1;ANZAHL2(A:A))) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Hi Günter!
In der Threaderöffnung stand nixxx von Überschriften, sondern "nur" von der bis dato funktionierenden Formel
=INDEX($A$1:$A$20;ZUFALLSBEREICH(1;20))
Aber egal:
Lassen wir doch mal den TE antworten …
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 09.01.2020
Version(en): 365
Danke für die schnellen Antworten!!
Ich habe die Lösungen von Ralf und Glausius beide ausprobiert und sie funktionieren genauso wie ich es mir erhofft habe. Wahrscheinlich werde ich dann Ralfs Lösung ohne Hilfszelle der Einfachheit wegen nehmen. Die Funktion mit Anzahl2 habe ich heute schon fieberhaft gesucht.. Danke!
In die Lösung von WillWissen muss ich mich erst nochmal reinlesen bevor ich da etwas zu sagen kann.. :D
Da die Frage bezüglich der Überschrift aufkam. In der Tat habe ich bislang noch keine Überschrift geplant, sodass auch A1 mit genutzt werden kann.
Bezüglich der Frage ob Marko oder ohne: Wie geschrieben möchte ich das ganze Starten durch ein Makro, aber das eigentlich von mir beschriebene Problem sollte nicht durch ein Makro gelöst werden, da das dann wahrscheinlich zu kompliziert für mich geworden wäre. Zumal ich diese relativ "einfachen Lösungen" von euch die ganze Zeit schon geahnt hatte, nur einfach nicht drauf gekommen bin. Mir fehlte quasi der Teil in der letzten Klammer..
=INDEX($A$1:$A$20;ZUFALLSBEREICH( ??? )
In der Regel sitzt das Problem halt vor dem Computer...
Wie gesagt, VIELEN DANK!
Btw.: Das ganze soll Teil eines kleinen Spiels werden. Wahrscheinlich werde ich noch die ein oder andere Frage hier stellen müssen :D