Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Zufällige Auswahl von Feldern mit Ausschluss
#1
Question 
Guten Morgen,
ich benötige einmal eure Hilfe bei der Erstellung einer Excel-Formel.
Wenn möglich würde ich die Aufgabe gerne ohne VBA realisieren.

In Spalte A habe ich folgende Werte:

A001
A005
B008
C008
D007
D003
B009
C009
D001
D005
B010
C010
D009
D013
B011


In B1 möchte ich jetzt zufällig drei Werte kommagetrennt aufführen.
C008,A005,D007,B011


Wichtig wäre, dass in B1 nicht der Wert von A1 geführt wird.
In B2 sollte nicht der Wert von A2 auftauchen.

Schön wäre es, wenn die Werte einigermaßen zufällig gewählt werden.
Hättet Ihr dafür einen Lösungsvorschlag?
Schon jetzt vielen Dank für eure Unterstützung!
Antworten Top
#2
Hallo

Unklarheiten.
Zitat:In B1 möchte ich jetzt zufällig drei Werte kommagetrennt aufführen.
C008,A005,D007,B011
Was nun drei oder vier. Oder mit Zelle in der die Anzahl flexibel angegeben werden kann.

Zitat:Schön wäre es, wenn die Werte einigermaßen zufällig gewählt werden.
Dürfen sich die Werte wiederholen oder sollen alle nur einmal auftauchen?

Und was du sonst noch vergessen hast....

Gruß Elex
Antworten Top
#3
Hi,

ohne darauf zu achten, dass der Wert von z.B. A1 ausgeschlossen wird und mit der Möglichkeit, dass eine Wert auch doppelt auftaucht:

=LET(x;A1:A15;y;ZEILENWAHL(x;ZUFALLSMATRIX(3;;1;ZEILEN(x);WAHR));TEXTVERKETTEN(", ";;y))

Wenn es vier Werte sein sollen, dann die 3 durch eine 4 ersetzen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#4
PHP-Code:
=INDEX($A$1:$A$12;RANDBETWEEN(1;12))&"," INDEX($A$1:$A$12;RANDBETWEEN(1;12))&","&INDEX($A$1:$A$12;RANDBETWEEN(1;12)) 

Ohne doppelte:

in J1:J12:
PHP-Code:
=RAND() 

PHP-Code:
=INDEX($A$1:$A$12;INDEX(RANK(J1:J12;J1:J12);1))& "," &INDEX($A$1:$A$12;INDEX(RANK(J1:J12;J1:J12);2))&","&INDEX($A$1:$A$12;INDEX(RANK(J1:J12;J1:J12);3)) 
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#5
Hallo s...,

mein Vorschlag:

=LET(x;EINDEUTIG(FILTER($A$1:$A$15;$A$1:$A$15<>A1));y;ZUFALLSMATRIX(ZEILEN(x);1;0;1);TEXTVERKETTEN(";";WAHR;WENN(y>KKLEINSTE(y;3);"";x)))

ps. Wenn sichergestellt ist, dass die Texte eindeutig sind, kann die Funktion EINDEUTIG entfallen.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste