Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: per Zufall einen Zellinhalt auswählen (excel)

per Zufall einen Zellinhalt auswählen (excel)
29.09.2004 20:53:42
Felixxx
HI!
ich grübel schon seit Tagen und komm net weiter. Ich hab nebeneinander 6 zellen mit text drin. und ich will per zufall eine der zellen auswählen, also deren inhalt. kann mir jmd. helfen?
es steht aber net immer text in den zellen, ich habe manchmal leere zellen. ich möchte eben nur auswählen von "vollen" zellen.
Felix
Anzeige
AW: per Zufall einen Zellinhalt auswählen (excel)
ransi
hallo felix
wenn deine texte in a1:f1 stehn, klappt es so:
=INDIREKT(WAHL(ZUFALLSBEREICH(1;6);"a";"b";"c";"d";"e";"f")&1)
ransi
Das geht in die Hose...
Boris
Hi Ransi,
...und zwar dann, wenn Leerzellen vorkommen - und die sollen ja nicht berücksichtigt werden.
Eine arrayfreie Lösung wäre demnach (mit einer Hilfsszeile):
 
 ABCDEF
1ab  eZufallswert:
2abe  b
Formeln der Tabelle
A2 : {=WENN(SPALTE(A$1)>ANZAHL2($A1:$E1);"";INDEX($A1:$E1;KKLEINSTE(WENN($A1:$E1<>"";SPALTE($A:$E));SPALTE(A$1))))}
B2 : {=WENN(SPALTE(B$1)>ANZAHL2($A1:$E1);"";INDEX($A1:$E1;KKLEINSTE(WENN($A1:$E1<>"";SPALTE($A:$E));SPALTE(B$1))))}
C2 : {=WENN(SPALTE(C$1)>ANZAHL2($A1:$E1);"";INDEX($A1:$E1;KKLEINSTE(WENN($A1:$E1<>"";SPALTE($A:$E));SPALTE(C$1))))}
D2 : {=WENN(SPALTE(D$1)>ANZAHL2($A1:$E1);"";INDEX($A1:$E1;KKLEINSTE(WENN($A1:$E1<>"";SPALTE($A:$E));SPALTE(D$1))))}
E2 : {=WENN(SPALTE(E$1)>ANZAHL2($A1:$E1);"";INDEX($A1:$E1;KKLEINSTE(WENN($A1:$E1<>"";SPALTE($A:$E));SPALTE(E$1))))}
F2 : =INDEX(A2:E2;KÜRZEN(ZUFALLSZAHL()*(ANZAHL2(A2:E2)-ANZAHLLEEREZELLEN(A2:E2));)+1)
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Grüße Boris
http:www.excelformeln.de
Anzeige
Natürlich nicht ganz arrayfrei...;-) oT
Boris
AW: Natürlich nicht ganz arrayfrei...;-) oT
Felixxx
boah geil! das funzt prima! spitze danke!
würde gerne meinen beitrag zurückziehen
ransi
sorry,
habe den zweiten teil der frage nicht gelesen... :-(
ransi
Anzeige
AW: würde gerne meinen beitrag zurückziehen
Felixxx
@ransi: macht nix, dank dir trotzdem, war schon fast zufrieden mit deiner antwort eben ;)
@boris: schaut super aus, ich probier das gleich mal :D
AW: und wie gefällt Dir das?
FP
Hi Boris,
Tabelle2
 ABCDEFG
1text1text2 text4 text6text4
Formeln der Tabelle
G1 : {=INDEX(A1:F1;KGRÖSSTE(WENN(A1:F1<>"";SPALTE(A1:F1));ZUFALLSBEREICH(1;ANZAHL2(A1:F1))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: und wie gefällt Dir das?
Felixxx
hehe, scheint ihr habt echt alle ahnung von array-formeln und so...ich blick da nie durch wie ich array-formeln anlegen muss. beschränke mich immer auf die einfachen sverweis und wenn-dann und so ;)
naja, dank dir auch. deine ist bisher am kürzesten vom platz her und von der vervielfältigung her ;) indirekt-formeln kann man schlechter copy&pasten...deine formel nutz ich mal :D
Anzeige
AW: noch etwas kürzer ...
FP
Hi Felixxx,
Tabelle2
 ABCDEFG
1text1text2 text4 text6text6
Formeln der Tabelle
G1 : {=INDEX(A1:F1;KGRÖSSTE((A1:F1<>"")*SPALTE(A1:F1);ZUFALLSBEREICH(1;ANZAHL2(A1:F1))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: noch etwas kürzer ...
felixxx
kleine frage: was änder ich, dass die formel auch ab spalte B funzt :-|
weil, füg ich vorn ne spalte ein...gehts net mehr :(
egal bei welcher formel...
AW: damit Du Spalten einfügen kannst...
FP
Hi felixxx,
... mußt Du die Formel(n) wie folgt anpassen:
Zeile 1: mit ADDIN ZUFALLSBEREICH - und warum sollte man die AddIns eigentlich nicht nutzen ;-)
Zeile 2: Variante mit INDIREKT, damit Spalten eingefügt werden können und ohne ADDIN :-)
Zeile 3: etwas kürzere Variante mit MTRANS(ZEILE())
Tabelle2
 BCDEFGH
1x1x2 x3 x4x3
2x1x2 x3 x4x3
3x1x2 x3 x4x1
Formeln der Tabelle
H1 : {=INDEX(B1:G1;KGRÖSSTE((B1:G1<>"")*MTRANS(ZEILE($1:$6));ZUFALLSBEREICH(1;ANZAHL2(B1:G1))))}
H2 : {=INDEX(B2:G2;KGRÖSSTE((B2:G2<>"")*SPALTE(INDIREKT("A:F"));KÜRZEN(ZUFALLSZAHL()*ANZAHL2(B2:G2))+1))}
H3 : {=INDEX(B3:G3;KGRÖSSTE((B3:G3<>"")*MTRANS(ZEILE($1:$6));KÜRZEN(ZUFALLSZAHL()*ANZAHL2(B3:G3))+1))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: damit Du Spalten einfügen kannst...
30.09.2004 21:38:16
felixxx
supa :D
die funzen alle 3.
fettes THX :)
AW: damit Du Spalten einfügen kannst...
30.09.2004 22:03:28
Felixxx
hm...im test bei mir liefs...habs jetzt in meinem excel-sheet angewendet und schon funzt es net mehr :(
meine daten beginnen ab EZ5:FE5 und gehen runter, bis jetzt 100 zeilen untereinander. also da hab ich halt leere/volle zellen und jeweils will ich eine per zufall auswählen, eine volle. aber die angewandten formeln geben #NV aus :(
FF: {=INDEX(EZ5:FE5;KGRÖSSTE((EZ5:FE5"")*MTRANS(ZEILE($1:$100));KÜRZEN(ZUFALLSZAHL()*ANZAHL2(EZ5:FE5))+1))}
Anzeige
AW: MTRANS(ZEILE($1:$100)) ist falsch!
FP
Hi Felixxx,
das MUSS MTRANS(ZEILE($1:$6)) heissen!!!
Wenn Du ganz sicher sein willst, dass die Formel nicht "verfälscht" wird, nimm die Variante mit INDIREKT(SPALTE("A:F")).
Da kannst Du kopieren, einfügen und löschen wie Du willst ;-)
Servus aus dem Salzkammergut
Franz
AW: MTRANS(ZEILE($1:$100)) ist falsch!
30.09.2004 22:38:52
felixxx
aso ok ;)
geändert...das dumme is aber es wird net immer ein wert ausgegeben, sondern auch leere inhalte :(
Anzeige
AW: MTRANS(ZEILE($1:$100)) ist falsch!
01.10.2004 20:56:33
felixxx
ehm, ich weiss woran es liegt aber net warum :(
einer der zellen wo auch leer sein können hat die formel:
=WENN(S5="";"";WENN(AU5=EZ$3;$EZ$4;""))
wenn ich keine formeln hab und leere zellen hab funzt eure formel *heul*
erkennt excel leer und "" net? muss doch beides leer sein oda? :(
Anzeige
AW: dann halt so...
FP
Hi felixxx,
*heul* nicht, es gibt für jedes "Problem" eine Lösung :-)
Tabelle1
 ABCDEFG
1 B2C2 E2 B2
Formeln der Tabelle
A1 : =WENN(A2="";"";A2)
B1 : =WENN(B2="";"";B2)
C1 : =WENN(C2="";"";C2)
D1 : =WENN(D2="";"";D2)
E1 : =WENN(E2="";"";E2)
F1 : =WENN(F2="";"";F2)
G1 : {=INDEX(A1:F1;KGRÖSSTE((A1:F1<>"")*SPALTE(INDIREKT("A:F"));KÜRZEN(ZUFALLSZAHL()*SUMME(N(A1:F1<>""))+1)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
Nicht so gut - da Add-In...;-) oT
Boris
Grüße Boris
Aber die Idee ist gut - und ohne Add-In...
Boris
Hi Franz,
...gefällt sie mir auch ;-)
{=INDEX(A1:F1;KGRÖSSTE(WENN(A1:F1"";SPALTE(A1:F1));KÜRZEN(ZUFALLSZAHL()*ANZAHL2(A1:F1);)+1))}
Grüße Boris
AW: Aber die Idee ist gut - und ohne Add-In...
30.09.2004 21:34:57
felixxx
gibt mir fehler aus manchmal :(
Anzeige
AW: per Zufall einen Zellinhalt auswählen (excel)
sergiesam
Hi,
hier ein Beispiel:
https://www.herber.de/bbs/user/11483.xls
Sub Auswahl() Dim r As Range, zufallszelle As Integer, zufallsbereich As Integer Set r = Range("A1:b3").SpecialCells(xlCellTypeConstants) 'merke dir nur befüllte Zellen (hier nur Konstanten, formeln würden ignoriert) r.Select 'Zeige diesen Bereich an -- kann man verzichten, es ist nur leichter zu erkennen. zufallsbereich = Int(Rnd() * r.Areas.Count) + 1 'Ermittle, aus wievielen Bereichen die befüllten Zellen bestehen und suche dir irgendeine aus (RND-Funktion) zufallszelle = Int(Rnd() * r.Areas(zufallsbereich).Cells.Count) + 1 'Such dir aus dem beliebigen Bereich irgendeine Zelle aus r.Areas(zufallsbereich).Cells(zufallszelle).Activate 'Aktiviere die zufallszelle im Zufallsbereich End Sub
Gruß,
Sam
Anzeige
AW: per Zufall einen Zellinhalt auswählen (excel)
Felixxx
danke, das meint ich aber net. ich wollt net auswählen (hab mich falsch ausgedrückt) sondern in einer zelle einen wert einer zelle ausgeben. die anderen haben mir aber schon gut geholfen :)
lsg. ohne Array
Reinhard
Hi Felix, Werte stehen in A1:F1 =INDIREKT(TEIL(WENN(A1<>"";"A";"")&WENN(B1<>"";"B";"")&WENN(C1<>"";"C";"") &WENN(D1<>"";"D";"")&WENN(E1<>"";"E";"")&WENN(F1<>"";"F";"");GANZZAHL(ZUFALLSZAHL() *LÄNGE(WENN(A1<>"";"A";"")&WENN(B1<>"";"B";"")&WENN(C1<>"";"C";"")&WENN(D1<>"";"D";"") &WENN(E1<>"";"E";"")&WENN(F1<>"";"F";"")))+1;1)&1) Gruß Reinhard
Anzeige
Und bei E, F, G, H oder sonst was? oT
Boris
AW: Und bei E, F, G, H oder sonst was? oT
Reinhard
Hallo Boris,
verstehe ich nicht, wenn die Werte in E1:H1 stehen muss logischerweise die Formel angepasst werden.
Oben stand 6 nebeneinanderliegende Zellen, davon per Zufall eine gefüllte Zelle auswählen.
Was meinst du genau?
Gruß
Reinhard
Asche auf mein schmales Haupt...
Boris
Hi Reinhard,
...ich hab deine Formel nur "überflogen" - und dabei das Wesentliche übersehen. ;-)
Grüße Boris
Anzeige
OT sehr erleichtert bin :-) m.T.
Reinhard
Hallo Boris,
wenn einem der Formelpapst so einen Betreff vorsetzt kommt man als armer Gläubiger (Ich glaube fest daran dass ich irgenwann alle Formeln bei Excelformeln verstehen kann, so in 10 Jahren oder so und dann noch Jahre später so durchdachte Ungetüme auch schreiben kann) schwer ins Schleudern *gg
Gruß
Reinhard
Anzeige
;-)) oT
Boris
Grüße Boris
AW: lsg. ohne Array
Felixxx
klappt auch prima thx :D
so mit ganz verschachtelten formeln hatt ichs auch probiert aber net hinbekommen ;)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt zufällig auswählen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel eine zufällige Zelle auszuwählen, kannst Du folgende Schritte befolgen:

  1. Zellen vorbereiten: Stelle sicher, dass Deine Daten in einer Zeile oder Spalte ohne leere Zellen angeordnet sind. Beispiel: A1:F1.

  2. Formel eingeben: Verwende die folgende Formel, um eine zufällige Zelle auszuwählen, die nicht leer ist:

    =INDEX(A1:F1;KGRÖSSTE(WENN(A1:F1<>"";SPALTE(A1:F1));ZUFALLSBEREICH(1;ANZAHL2(A1:F1))))

    Diese Formel gibt einen zufälligen Wert aus den nicht-leeren Zellen zurück.

  3. Matrixformel bestätigen: Da es sich um eine Matrixformel handelt, musst Du die Eingabe mit STRG + SHIFT + ENTER anstelle von nur ENTER bestätigen.


Häufige Fehler und Lösungen

  • Fehler: #NV: Dieser Fehler tritt auf, wenn alle Zellen im Bereich leer sind. Stelle sicher, dass mindestens eine Zelle gefüllt ist.

  • Formel gibt leere Werte zurück: Überprüfe, ob die Zellen tatsächlich leer sind oder ob sie eine Formel enthalten, die "" zurückgibt. Excel behandelt diese als nicht leer.

  • Formel funktioniert nicht bei leeren Zellen: Verwende die Funktion WENN in Kombination mit INDEX, um sicherzustellen, dass leere Zellen nicht berücksichtigt werden.


Alternative Methoden

  1. VBA-Makro: Du kannst auch ein einfaches VBA-Makro verwenden, um einen zufälligen Wert aus einer Liste auszuwählen. Hier ein Beispiel:

    Sub Auswahl()
       Dim r As Range, zufallszelle As Integer
       Set r = Range("A1:F1").SpecialCells(xlCellTypeConstants)
       zufallszelle = Int(Rnd() * r.Count) + 1
       MsgBox r.Cells(zufallszelle).Value
    End Sub

    Dieses Makro zeigt den Inhalt einer zufälligen Zelle in einem Dialogfeld an.

  2. Zufallszahl generieren: Eine andere Methode ist die Verwendung der ZUFALLSZAHL-Funktion, um einen Index für eine Liste zu erstellen. Diese Methode eignet sich gut für kleinere Listen.


Praktische Beispiele

  • Beispiel 1: Angenommen, Du hast Namen in den Zellen A1 bis F1. Verwende die Formel:

    =INDEX(A1:F1;KGRÖSSTE(WENN(A1:F1<>"";SPALTE(A1:F1));ZUFALLSBEREICH(1;ANZAHL2(A1:F1))))

    Dadurch wird ein zufälliger Name aus den gefüllten Zellen ausgewählt.

  • Beispiel 2: Wenn Du einen zufälligen Text aus einer Liste in den Zellen B1 bis H1 auswählen möchtest, kannst Du die gleiche Struktur verwenden.


Tipps für Profis

  • Nutzung von MTRANS: Wenn Du mit horizontalen und vertikalen Daten arbeitest, kann die Funktion MTRANS nützlich sein, um die Ausrichtung der Daten zu ändern.

  • Spalten einfügen: Um Spalten einzufügen, ohne dass die Formeln brechen, verwende die INDIREKT-Funktion, um die Bereiche dynamisch anzupassen.

  • Zufallsgenerator: Überlege, einen Zufallsgenerator für Namen oder Texte zu erstellen, um die Verwaltung von Listen zu vereinfachen.


FAQ: Häufige Fragen

1. Frage
Wie kann ich leere Zellen aus der Auswahl ausschließen?
Antwort: Verwende die WENN-Bedingung in Deiner Formel, um sicherzustellen, dass nur gefüllte Zellen berücksichtigt werden.

2. Frage
Kann ich die Formel auch für vertikale Daten verwenden?
Antwort: Ja, die Formel kann leicht angepasst werden, um in Spalten zu arbeiten, indem Du die Zeilen- und Spaltenreferenzen entsprechend änderst.

3. Frage
Wie kann ich diese Auswahl in eine Zelle ausgeben?
Antwort: Du kannst die Formel in eine beliebige Zelle eingeben, um den zufälligen Wert dort anzuzeigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige