Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spezielles Anliegen
#1
Hallo zusammen

ich benötige Hilfe bei einer meiner Tabellen und ich fürchte dass es den Rahmen sprengen würde wenn ich das ganze hier poste, vielleicht findet sich ja jemand der heute nachmittag sich 10 minuten mein problem anhören kann (vielleicht über teamspeak o.ä.) und mir dann weiterhelfen kann :100:

lg
JD
Antworten Top
#2
Hi, kannst du denn die ungefähre Richtung angeben, wohin eine Lösung gedacht ist? Geht es eher um Formeln oder um eine programmtechnische (VBA) Möglichlichkeit? Oder um den grundsätzlichen Aufbau deiner Tabelle (Struktur, Datenmodelle)?
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#3
Hallo,

 genau  deswegen  gibts hier  die  SchwarmIntelligenz

  " Das Ganze ist mehr als die Summe seiner Teile "


 Wenn du  irgendjemand  fragen willst,  dann versuchs mal  bei  deinem  Nachbarn vielleicht kann er  dir helfen.
Antworten Top
#4
ok ich versuche das mal zu erläutern:

ich habe eine tabelle, da stehen 10 spieler drinne, jeder kann 3 positionen spielen von 5 insgesamt

ich brauche immer 5 spieler und jede position soll einmal besetzt werden, ich möchte also in meine liste eintragen welche 5 spieler anwesend sind und die liste soll mir ausgeben welcher spieler welche position spielen soll, jede position soll natürlich nur einmal besetzt werden. dafür brauche ich die Formel, btw einen Ansatz wie man das lösen kann, bitte jetzt nicht einfach schreiben sverweis oder so, sondern auch wie ich den formulieren muss

Danke
Antworten Top
#5
Hallo J...,

das könnte man am einfachsten mit einem kleinen Programm(VBA) lösen, das alle möglichen Kombinationen die fünf Positionen zu besetzen durchprobiert. Hier noch einige Fragen:

1) Kannst du eine Lösung mit einem Programm akzeptieren? (Wenn ja weiter)
2) Hast du schon Vorstellungen wie du die Eingabe machen möchtest? (Dann bitte eine Beispieldatei)
zb. Eingabe der Positionen als Zahl oder als Text.
3) Was soll passieren, wenn mehr als eine Kombination möglich ist? Sollen dann alle möglichen Kombinationen ausgegeben werden oder nur die optimale, für die du dann aber vorgeben muss, woran das Programm erkennen kann welche Kombination besser ist?
4) Willst du immer genau 5 Spieler vorgeben, oder soll das Programm aus einer Liste von 5-10 Spielern die mögliche(n) Kombination(en) ausgeben?
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.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • JDGaming
Antworten Top
#6
Danke Helmut für deine Antwort.

Zu 1, können denn andere die datei dann auch benutzen? aber für mich ist das kein Problem, ich kann gerne damit arbeiten
zu 2, ich habe schon eine Datei erstellt, an sich möchte ich die Namen der Spieler verwenden für die Eingabe, also Wörter.
zu 3, im Idealfall weiß ich von jedem Spieler seine persönliche Rangfolge der 3 Positionen, von daher wäre in so einem Fall wo mehrere Kombinationen möglich sind noch die persönliche Preäferenz des einzelnen Spieler zu berücksichtigen.
zu 4, ich brauche die Tabelle für einen Spieltag, dh wenn wir uns dafür vorbereiten wird irgendwann klar sein welche 5 Spieler spielen werden, dann möchte ich diese Namen eingeben und das Programm soll mir für genau diese Kombination die beste Aufteilung mitteilen.

danke für deine Hilfe

LG

JD


Angehängte Dateien
.xlsx   Spielaufstellung neu.xlsx (Größe: 11,99 KB / Downloads: 6)
Antworten Top
#7
Hallo J...,

in der Anlage einmal eine erste Version.
Da du noch keine genaueren Angaben gemacht hast, was es für dich bedeutet "die persönliche Preäferenz des einzelnen Spieler zu berücksichtigen", habe ich zur Zeit in jeder möglichen Kombination für alle Spieler die Rangnummer des zugeordneten "Operators" addiert und gebe eine Kombination mit der niedrigsten Summe aus.
Code:
Option Explicit
Dim intMaxAnz As Integer
Dim intWertOpt As Integer
Dim intWertAkt As Integer
Dim intAktPos() As Integer
Dim intAktRest() As Integer
Dim intSpieler() As Integer
Dim varOperator As Variant
Dim varOperatoren As Variant

Private Sub cbTuwat_Click()
Dim intPosHeute As Integer
Dim intPosSpieler As Integer
Dim intPosRang As Integer
Dim intPosPosition As Integer
Dim varSpieler As Variant
Dim varHeuteSpielt As Variant

varOperator = ThisWorkbook.Names("Operator").RefersToRange.Value
varSpieler = ThisWorkbook.Names("Spieler").RefersToRange.Value
varHeuteSpielt = ThisWorkbook.Names("HeuteSpielt").RefersToRange.Value
ThisWorkbook.Names("Operatoren").RefersToRange.Value = ""
varOperatoren = ThisWorkbook.Names("Operatoren").RefersToRange.Value
intMaxAnz = UBound(varOperator, 1)
ReDim intAktRest(1 To intMaxAnz)
ReDim intAktPos(1 To intMaxAnz)
ReDim intSpieler(1 To intMaxAnz, 1 To 3)

'---------------------------------------------------------
' Daten einlesen in "intSpieler" udn "intRest"
'---------------------------------------------------------

For intPosHeute = 1 To intMaxAnz
    intAktRest(intPosHeute) = intPosHeute
    For intPosSpieler = 1 To UBound(varSpieler, 1)
        If varSpieler(intPosSpieler, 1) = varHeuteSpielt(intPosHeute, 1) Then
            For intPosRang = 1 To 3
                For intPosPosition = 1 To intMaxAnz
                    If varOperator(intPosPosition, 1) = varSpieler(intPosSpieler, intPosRang + 2) Then
                        intSpieler(intPosHeute, intPosRang) = intPosPosition
                        Exit For
                    End If
                Next intPosPosition
            Next intPosRang
            Exit For
        End If
    Next intPosSpieler
Next intPosHeute
intWertAkt = 0
intWertOpt = intMaxAnz * 9 + 1
Call RecursivSpieler(1)

If intWertOpt = intMaxAnz * 9 + 1 Then MsgBox "Keine gültige Zuordnung möglich."
End Sub
Sub RecursivSpieler(ByVal intLokSpieler As Integer)
Dim intLokPos As Integer
Dim intLokRang As Integer
Dim intLokWert As Integer
For intLokRang = 1 To 3
    If intAktRest(intSpieler(intLokSpieler, intLokRang)) <> 0 Then
        intAktPos(intLokSpieler) = intSpieler(intLokSpieler, intLokRang)
        intAktRest(intSpieler(intLokSpieler, intLokRang)) = 0
        intLokWert = intLokRang
        intWertAkt = intWertAkt + intLokWert
        If intWertAkt < intWertOpt Then
            If intLokSpieler < intMaxAnz Then
                Call RecursivSpieler(intLokSpieler + 1)
            Else
                intWertOpt = intWertAkt
                For intLokPos = 1 To intMaxAnz
                    varOperatoren(intLokPos, 1) = varOperator(intAktPos(intLokPos), 1)
                Next intLokPos
                ThisWorkbook.Names("Operatoren").RefersToRange.Value = varOperatoren
            End If
        End If
        intWertAkt = intWertAkt - intLokWert
        intAktRest(intSpieler(intLokSpieler, intLokRang)) = intSpieler(intLokSpieler, intLokRang)
    End If
Next intLokRang
End Sub


Angehängte Dateien
.xlsm   Spielaufstellung neu.xlsm (Größe: 26,64 KB / Downloads: 6)
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.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • JDGaming
Antworten Top
#8
ok wow das ist echt weit über dem was ich von excel verstehe  :s
erst noch einmal vielen vielen dank für deine Mühe!
ich habe inzwischen meine tabelle selber noch ein wenig erweitert, vielleicht bekommst du das hin jetzt quasi diese beiden tabellen in eine zu bekommen x)
in meiner neueren version möchte ich zusätzlich noch in B6-B10 automatisch die zu spielenden operatoren für die oben ausgewälte map angezeigt bekommen, bekomme das aber akutell nicht hin, vielleicht hast du ja auch da noch eine idee? :/

ansonsten ist deine Idee schon perfekt, muss jetzt nurnoch in meine tabelle rein und dann bin ich glücklich und alles passt, wenn du lust hast kannst du dich ja da nochmal ran setzten, bei fragen einfach fragen.


Angehängte Dateien
.xlsm   Spielaufstellung neu v2.xlsm (Größe: 21,99 KB / Downloads: 2)
Antworten Top
#9
Hallo nochmal, ich bin jetzt wieder mal weiter gekommen und befinde mich in der Endphase der Tabelle, brauche allerdings noch ein letztes Mal Hilfe:

Ich habe jetzt alles Relevante eingetragen, muss aber noch die Daten mit "Dem Code" verknüpfen, da bin ich dann auch schon wieder mit meinem Latein am Ende...

Auf dem Hauptblatt ist jetzt die Bedienung zu sehen, auf dem Reiter "Spieler" findet man alle Spieler und eine Liste in der man seine eigene Rangordnung der zu Spielenden Operatoren eintragen kann, in die Dritte Tabelle sind alle Maps und deren Spots eingetragen, wir müssen jetzt nurnoch selber eintragen welche Operatoren auf welchem Spot zu spielen sind, die bereiche sind allerdings schon als Liste eingetragen, es muss also wie gesagt nurnoch verknüpft werden, ich hoffe mir kann jemand noch ein mal helfen.

LG
JD


Angehängte Dateien
.xlsx   Spielaufstellung Final v1.xlsx (Größe: 23,01 KB / Downloads: 2)
Antworten Top
#10
Hall J...,

das sieht ein wenig anders aus. Ich werd die Überarbeitung heute beginnen. Aber hier noch einige Fragen:

1. Warum denn nicht gleich so? Blush

2. Ist es richtig, dass unter den Ops  in E7: I7 die zugeordneten Spieler eingetragen werden sollen?

3. Ist es richtig, dass alle zugeordneten Ops und nicht nur die ersten drei berücksichtigt werden sollen?

4. Hast du dir noch einmal Gedanken gemacht wie "die persönliche Preäferenz des einzelnen Spieler zu berücksichtigen" ist?
 zB
1. Als Position in der Spielerliste oder
2. als Position in der Liste der der benutzten Ops oder
3. ????
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