Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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
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
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
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))}
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
Anzeige
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 :(
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? :(
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 :(
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
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 ;)

160 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige