Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1832to1836
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
Inhaltsverzeichnis

Zufällige Liste in Abhängigkeit generier

Zufällige Liste in Abhängigkeit generier
10.06.2021 12:04:38
Peter
Hallo liebe Excel-Gemeinde.
Seit tagen versuche ich die unten Beschriebene Tabelle zu generieren, jedoch komme ich auf keinen grünen Weg.
Ich habe in der Spalte A eine Liste mit 5 Namen (A1.A5), Horizontal zu jedem Name stehen 5-9 eigenschaften(ab C:...).
Jetzt soll in B hinter jedem Name eine der Eigenschaften stehen, es darf jedoch keine Eigenschaft doppelt sein.
Paule ehrgeizig
Kalle stark
Melinda standhaft
Anne wissbegierig
Susi mutig
Ich wäre euch sehr dankbar, wenn ihr mir in dieser Sache weiterhelfen könntet.
Danke im vorraus.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eine Möglichkeit wäre ...
10.06.2021 12:54:12
neopa
Hallo Peter,
... folgende . Kopiere die Formeln B1 und B2 ein und dann betätige solange die [F9]-Taste bis in B1:B5 auch 5 Eigenschaften stehen. Diese sind dann auf jeden Fall auch unterschiedlich.
 ABCDEFGHIJK
1PauleE_01E_01E_02E_03E_04E_05    
2KalleE_06E_02E_03E_01E_06E_07E_05   
3MelindaE_05E_02E_03E_01E_05E_09E_07E_08E_06E_04
4AnneE_08E_03E_01E_02E_04E_07E_08   
5SusiE_02E_02E_03E_01E_05E_04E_07E_09  

ZelleFormel
B1=INDEX(C1:G1;ZUFALLSBEREICH(1;ANZAHL2(C1:K1)))
B2=WENNFEHLER(INDEX(2:2;AGGREGAT(15;6;SPALTE(C2:K2)/(ZÄHLENWENN(B$1:B1;C2:K2)=0)/(C2:K2>"");ZUFALLSBEREICH(1;5)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: Zufällige Liste in Abhängigkeit generier
10.06.2021 13:31:11
Daniel
HI
bei VBA gut:
1. folgender Code in ein allgemeinest Modul

Function Eigenschaften(MöglicheEigenschaften As Range, Optional Ausschluss As Range) As String
Application.Volatile
Dim strMöE As String
Dim T
Dim arrMöE
strMöE = "|"
For Each T In MöglicheEigenschaften
If T  "" Then strMöE = strMöE & T & "|"
Next
If Not IsMissing(Ausschluss) Then
For Each T In Ausschluss
strMöE = Replace(strMöE, "|" & T & "|", "|")
Next
End If
arrMöE = Split(strMöE, "|")
Eigenschaften = arrMöE(WorksheetFunction.RandBetween(1, UBound(arrMöE) - 1))
End Function
in Zelle B1: =Eigenschaften(C1:X1)
in B2:B5: =Eigenschaften(C2:X2;B$1:B1)
F9 löst neue Auswahl aus, falls das unerwünscht ist, das Application.Volatile löschen
die Ergebnisse sind auf jeden Fall eindeutig. wenn für die letzten Namen keine Eigenschaften übrig bleiben, gibts ne Fehlermeldung.
Wenn jeder Name mindestens so viele Eigenschaften hat wie es Namen gibt, ist das aber nicht möglich.
Gruß Daniel
Anzeige
AW: Zufällige Liste in Abhängigkeit generier
10.06.2021 14:12:14
Peter
Hallo Werne, Hallo Daniel,
erstmal vielen Dank für eure bemühungen.
@ Werner: Im Prinzip funktioniert es, jedoch bekomme ich bei einigen Zellen eine leere Zelle raus.
@Daniel: Müsste ich nicht zumindest in dem Modul einen Bereich festlegen? Ich kann dem irgendwie nicht folgen.
https://www.herber.de/bbs/user/146562.zip
Gruß Peter
AW: dazu schrieb ich ...
10.06.2021 14:18:45
neopa
Hallo Peter,
....

dann betätige solange die [F9]-Taste bis in B1:B5 auch 5 Eigenschaften stehen
Meine Tests hatten ergeben, dass ich max diese Taste 2 mal zusätzlich betätigen musste um ein komplettes Ergebnis zu erlangen.
Gruß Werner
.. , - ...
Anzeige
AW: Zufällige Liste in Abhängigkeit generier
10.06.2021 15:06:12
Daniel
Hi
als erstes: die Funktion enthält noch einen Fehler:
ersetze mal das If Not IsMissing(Ausschluss) Then durch If Not Ausschluss is Nothing Then
was meinst du mit "Bereich festlegen"?
für den allerersten Namen gibt es ja noch keine Eigenschaften, die ausgeschlossen werden müssen.
daher gibt man den allerersten Namen ohne Ausschlusskriterium an, die folgenden dann mit, wobei immer die bereits verwendeten Eigenschaften in den darüber liegenden Zeilen ausgeschlossen werden.
würdest du eine Überschriftenzeile verwenden, dann könnte man die Formel vereinheitlichen (dann Formel aus B2 für alle Zellen), dann wäre auch die Überschrift der Spalte B ein Ausschlusskriterium, aber das stört dann nicht weiter, weil der Überschriftentext kaum eine Eigenschaft sein dürfte.
du hast hier aber das Problem, dass es Namen gibt die weniger Eigenschaften haben als es insgesamt Namen gibt.
Dadurch kann es vorkommen, dass für diese keine Eigenschaften übrigbleiben, wenn diese im unteren Teil der Tabelle stehen.
um solche Probleme zu vermeiden und sofort zu einem passenden Ergebnis zu kommen solltest du für die Ermittlung der Eigenschaft die Liste so anordnen, dass die Namen mit den wenigsten Eigenschaften oben stehen und die Namen mit den meisten Eigenschaften unten.
Gruß Daniel
ps: und bitte unterlasse das Zippen, lade die Datei direkt hoch. xlsx-Dateien sind schon komprimiert so dass das Zippen nichts bringt, außer mehr Aufwand für alle Beteiligten.
Anzeige
AW: Deine eingestellte Datei ...
10.06.2021 15:23:30
neopa
Hallo Peter,
... diese hab ich mir erst jetzt angesehen. In dieser stehen mehr Namen (noch dazu die max überhaupt mögliche Anzahl, wenn nur "Eigenschaften" zur Verfügung stehen) und für Anne (Zeile 7) weniger "Eigenschaften" als von Dir mit 5 eingangs angeben war.
Dann kannst Du mit meiner auf die Eingangsdaten zugeschnitten Formel nur zufällig nach (sehr) vielen [F9] - Betätigungen zum Ergebnis kommen.
Für die neuen Daten eine neue Formel: in B2:
=WENNFEHLER(INDEX(2:2;AGGREGAT(ZUFALLSBEREICH(14;15);6;SPALTE(C2:K2)/(ZÄHLENWENN(B$1:B1;C2:K2)=0)/(C2:K2"");1));"")
Allerdings bedarf es auch da einiger [F9] - Betätigungen um zum Ergebnis zu gelangen.
Gruß Werner
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige