Seite 1 von 2
Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Di 11. Aug 2020, 20:22
von hylli
Siehe anhängendes Beispiel!
Gegeben ist die Kreuztabelle "Profilkombinationen". Je nach Kombination von Profilen sind Werte zwischen 0 und 3 vergeben.
Einem Mitarbeiter sind 1-X Profile zugeordnet, dadurch ergeben sich entsprechend viele Profilkombinationen.
Was soll ermittelt werden?
Aus den dem Mitarbeiter zugeordneten Profilen die möglichen/sich ergebenden Profilkombinationen sowie die Bewertung von 0 bis 3, die sich je Profilkombination aus der Kreuztabelle ergeben.
Wie kann man das mit LibreOffice Calc gegebenenfalls ermitteln?
Sofern man dazu zum Beispiel die Kreuztabelle in Listform auflösen müsste: Wie kann ich das bewerkstelligen? (Geht das auch ohne Makros?)
Hylli
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Di 11. Aug 2020, 21:21
von craig
Hallo Hylli,
eine Lösung mittels Summmenprodukt:
Ich hoffe es passt...
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Di 11. Aug 2020, 22:03
von hylli
OK, danke schon mal für die Hilfe. Das hilft mir schon weiter.
Stellt sich aber noch die Frage:
Wie kann ich die Profilkombinationen "errechnen", die sich aus den dem Mitarbeiter zugeordneten Profilen ergeben?
Wie gesagt können das theoretisch 1 bis X Profile sein, die einem Mitarbeiter zugeordnet sind.
In meinem Beispiel habe ich die möglichen Kombinationen ja manuell ermittelt, aber kann man diese auch errechnen?
Hylli
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Mi 12. Aug 2020, 14:25
von craig
Hallo Hylli,
leider bin ich kein Mathe-Ass, deshalb kann ich Dir nur bedingt helfen.
Heraus gefunden habe ich nun, wie man die "Permutation ohne Doppler" berechnet.
LibreOffice verfügt dazu über die Funktion "Kombination"
Siehe für eine genauere Beschreibung in der HIlfe nach.
Per Zählenwenn werden die "x" in Spalte B gezählt.
Der zweite Parameter (;2) bezieht sich auf die Spalten D und E.
Also "erstes Profil" und "zweites Profil" = Anzahl → 2
Mit dieser Berechnung erhältst Du nun schon mal die Anzahl der möglichen Kombinationen.
Bei 4 "x" = 6
Bei 5 "x" = 10
usw.
Gemäß nachfolgender Berechnung ist die kleinste Kombination =1
Dies entspricht 2 "x" in Spalte B
Gemäß nachfolgender Berechnung ist die größte Kombination =1431
Dies entspricht 2 "x" in Spalte B
Der entscheidende Schritt fehlt aber noch:
Wie filtert man nun die einzelnen Profile aus der Spalte "A" so heraus, dass sie eine sinnvoll Kombinationliste ergeben.
In jedem Fall muss die Spate D und E dynamisch (1-1431 Zeilen) nach unten erweiterbar sein.
Aus meiner Sicht hilft hier nur eine Matrix-Funktion, leider fehlt mir hier im Augenblick jeglicher Ansatz.
Es wäre schön wenn sich noch ein Experte meldet, um diesen letzten Schritt zu realisieren.
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Mi 12. Aug 2020, 15:12
von hylli
Muss noch ergänzen, dass die Datengrundlage z.B. so aussähe:
Benutzer|Profil|Art
User1|Profil1|S
User1|Profil14|S
User1|Profil27|S
User1|Profil38|S
User1|Profil101|E
User1|Profil105|E
User2|Profil5|S
User2|Profil19|S
User2|Profil110|E
...
Es ist eine Liste aller Benutzer, denen verschiedene Profile (Standard -> S / Eigene ->E) zugeordnet sind.
Es sollen nur Profile der Art "S" in die Berechnung möglicher Kombinationen einfließen, nur diese finden sich auch in der Kreuztabelle.
Danke schon mal für Deine Mühen, ich schaue mir das heute Abend näher an.
Hylli
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Mi 12. Aug 2020, 17:31
von HeritzP
Hallo,
eine alternative Darstellung.
Gruß HeritzP
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Mi 12. Aug 2020, 17:38
von hylli
Danke auch für die Lösung, benötige allerdings die Darstellung wie:
ProfilA|ProfilB|Wert
Profil1|Profil14|2
...
Jetzt geht es allerdings noch darum, ob man aus einer Liste von Profilen, die möglichen Kombinationen errechnen und darstellen kann.
Gruß
Hylli
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Mi 12. Aug 2020, 18:24
von craig
@HeritzP
ich freue mich, dass Du dabei bist.
Dein Beispiel habe ich allerdings nicht verstanden.
In Spalte B hast Du 6 mal "X" eingetragen.
Bei Hylli's Vorgaben soll das Ergebnis auf 2 Spalten verteilt werden.
Die Anzahl der verwendeten Zeilen ist von der Kombinatorik abhängig.
Die Anzahl der erforderlichen Zeilen (ist gleichsam der Anzahl der Kombinationen) welche die Funktion "KOMBINATIONEN()" liefert:
Code: Alles auswählen
REM --- Binominal Koeffizient ---
REM n über k
=KOMBINATIONEN(2;2) = 1
Angewendet auf Dein Beispiel wäre es:
Code: Alles auswählen
REM --- Binominal Koeffizient ---
REM n über k
=KOMBINATIONEN(6;2) = 15
Somit 15 Zeilen mit unterschiedlichen Kombinationen ohne Doppler.
Diese Anzahl (15) kann ich in Deiner Liste nicht erkennen.
Der Hintergrund der Funktion "KOMBINATIONEN" ist der Binominal Koeffizient (
n über k)
n = Anzahl "x" = 6
k = Es sollen immer 2 Profile ausgegeben werden (Spalte D und Spalte E) = 2
Die Berechnung:

- Binominal Koeffizient n über k.jpg (11.14 KiB) 3231 mal betrachtet
@Hylli
Ich habe in der Zwischenzeit weiter geforscht und ich habe Dank Deiner Frage ein weenig Mathematik dazu gelernt.
Ausserdem habe ich dieses Excel-Makro gefunden, was den letzten Schritt Deines Wunsches erledigen dürfte.
Code: Alles auswählen
Sub Kombination()
Dim i As Long, j As Long
Dim n As Long, k As Long
Dim springen As Long
Dim zaehler As Long
Dim anzahl As Long
k = 2
n = 4
If n < k Then Exit Sub
anzahl = Application.WorksheetFunction.Combin(n, k)
If anzahl > 2 ^ 16 Then Exit Sub ' Excel 2003
'If anzahl > 2 ^ 20 Then Exit Sub ' Excel 2007
For j = 1 To k
i = 1
zaehler = j
While (i <= anzahl)
springen = Application.WorksheetFunction.Combin(n - zaehler, k - j)
Sheets("Tabelle2").Cells(i, j).Resize(springen).Value = zaehler
i = i + springen
zaehler = zaehler + 1
If n - zaehler < k - j Then
If j = 1 Then
zaehler = n - k + 1
ElseIf j = k And Sheets("Tabelle2").Cells(i - 1, j) = n - 1 Then
zaehler = n
Else
zaehler = Sheets("Tabelle2").Cells(i, j - 1) + 1
End If
End If
Wend
Next
End Sub
Ggf. kann man hieraus auch eine Formel herleiten, es liegt mir aber näher diesen Code in Starbasic umzuschreiben.
Die Übersetzung Excel-Makro → Calc-Makro habe ich gerade in Arbeit.
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Mi 12. Aug 2020, 21:41
von HeritzP
Hallo,
mit ein paar Hilfsspalten geht es.
Die Spalten müssen noch auf die tatsächliche Anzahl angepasst werden.
Es ist auch ein Unterschied, ob z.B. Profil1 in der Spalte oder Zeile gesucht wird.
Meine Kreuztabelle im 1. Beispiel hat mit der ursprünglichen Vorgabe wenig gemeinsam.
Das kann damit nicht verglichen werden.
Gruß HeritzP
Re: Ermittlung mögliche Profilkombinationen + "Bewertung"
Verfasst: Do 13. Aug 2020, 08:21
von hylli
Prinzipiell scheint mir das ja schon mal wieder eine geniale Lösung zu sein, insbesondere sogar ohne Makros, was ich bevorzugen würde. (@craig: Bin trotzdem auf die Makro-Lösung gespannt!)
Ich bewundere Euch für Eure Ideen, die Ihr für die Umsetzung immer habt.
@HeritzP:
Könntest Du mir noch ein paar Erläuterungen dazu machen, von wo nach wo ich das wie lesen muss, und was die ein oder andere Funktion so macht? (Hier und da habe ich mal wieder Verständnisprobleme!)
Hylli