Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Probleme mit dem Solver / Zielwertsuche und Makro

Probleme mit dem Solver / Zielwertsuche und Makro
08.09.2018 17:49:19
Jens
Hallo,
ich habe eine Tabelle mit Teilnutzenwerten, aus der ich mir eine Art Marktsimulator gebaut habe. Das bedeutet, dass für jedes Produkt anhand dieser Werte ein Nutzen berechnet wird, aus dem dann schließlich Präferenzen (in Prozent) berechnet werden.
Nun, ich glaube das warum ist jetzt nicht unbedingt interessant.
Ich möchte durch Veränderung einer Zelle (der Preis) erreichen, dass die Präferenzen (in Prozent) beider Produkte gleich sind. Manuell klappt das auch ganz gut. Wenn ich jetzt die Zielwertsuche benutze mittels eines Makros, wird nur ein Wert gefunden, der völlig von dem eigentlichen Wert abweicht. Führe ich die Zielwertsuche nun 10 bis 20 Mal aus, wird irgendwann der Wert gefunden. Bei jeder Ausführung nähert sich der gefundene Wert dem gesuchten Wert.
Frage 1: ist das normal? Warum bricht die Zielwertsuche ab, obwohl der richtige Wert noch nicht gefunden wurde?
Frage 2: Ich habe das ganze auch mit dem Solver versucht, mit der Nebenbedingung, dass zwei Zellen gleich sein sollen. Das klappt aber ebenfalls nicht. Ich bin mir nicht sicher, ob das daran liegt, dass ich bei jeder Veränderung des Preises die Zellen in der Nebenbedingung ändern?
Was ist die beste Lösung das zu machen? Kann ich die Zielwertsuche so einstellen, dass er solange läuft bis er den richtigen Wert gefunden hat ? Kann ich ggf. den Solver nutzen? Gibt es vielleicht bessere Lösungswege?
Das nächste Problem ist, dass ich ganz viele Nutzenwerte berechnen muss. Das klappt auch ganz gut mit Schleifen. Jedoch ist hier auch wieder das Problem, dass die Werte völlig abweichen von den "echten" Werten. Nur bei den Schleifen kann ich nicht einfach 10 bis 20 Mal das Makro ausführen. Aus irgendeinem Grund nähern sich die Werte nicht.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit dem Solver / Zielwertsuche und Makro
08.09.2018 18:44:07
Jens
P.S.
Hier mein bisheriges Makro... teilweise findet es den richtigen Wert, aber teilweise ist die Abweichung enorm

Public Sub Abrechnung()
'VARIABLEN
Dim i As Integer
Dim j As Integer
Dim max As Integer
Dim rStartCell As Range
Dim strAimCell As Range
Dim rZielCell As Range
'CONSTANTS
Const maxZeilen = 10 'Anzahl der zu durchlaufenden Zeilen
Const strStartRng = "B4" 'erster Zellbezug, von Produkt 1
Const strAimRng = "C4" 'erster Zellbezug, von Produkt 2
Const strZielRng = "E4" 'erster Zellbezug, in den Zielwert geschrieben werden soll
max = 100 'Limit für GoalSeeker Iterationen
'RANGES
Set rStartCell = Range(strStartRng)
Set rAimCell = Range(strAimRng)
Set rZielCell = Range(strZielRng)
'SCHLEIFEN
For j = 1 To maxZeilen
'teste auf Abbruchbedingung VOR Ausführung des Codes
If rStartCell.Offset(j - 1, 0).Value = "" Then Exit For
'Starte GoalSeeker
For i = 1 To max
If rStartCell.Offset(i - 1, 0)  rAimCell.Offset(i - 1, 0) Then
rStartCell.Offset(i - 1, 0).GoalSeek Goal:=rAimCell.Offset(i - 1, 0), ChangingCell:=Range(" _
K4")
rZielCell.Offset(i - 1, 0) = Range("K4")
End If
Next i
If i = max Then
MsgBox "Keine Lösung gefunden"
End If
Next j
End Sub

Anzeige
AW: Probleme mit dem Solver / Zielwertsuche und Makro
08.09.2018 19:11:30
Jens
sorry, in dem code war nen index fehler, der ist aber schon korrigiert.
AW: Probleme mit dem Solver / Zielwertsuche und Makro
09.09.2018 13:51:31
Jens
OK hat sich erledigt. Ich habe mit dem Solver die Abweichung minimiert, das liefert deutlich bessere Ergebnisse und ist ungefähr 100x schneller.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Probleme mit dem Solver und Zielwertsuche in Excel


Schritt-für-Schritt-Anleitung

  1. Zelle auswählen: Wähle die Zelle aus, deren Wert du ändern möchtest, um die Präferenzen gleich zu machen (z. B. den Preis).
  2. Zielwertsuche aufrufen: Gehe zu Daten > Was-wäre-wenn-Analyse > Zielwertsuche.
  3. Parameter eingeben:
    • Setze die Zelle auf die Zelle mit der Präferenzberechnung.
    • Wähle die Zielwert auf den gewünschten Wert aus.
    • Wähle die änderbare Zelle, die den Preis enthält.
  4. Optionen anpassen: Klicke auf Optionen und stelle sicher, dass die maximalen Iterationen hoch genug sind, um den richtigen Wert zu finden.
  5. Makro erstellen: Wenn du eine wiederholte Nutzung benötigst, erstelle ein Makro, das die Zielwertsuche automatisiert.
Sub ZielwertsucheAutomatisieren()
    Application.Goto Range("ZielZelle")
    ActiveSheet.Range("ZielZelle").GoalSeek Goal:=0, ChangingCell:=Range("PreisZelle")
End Sub

Häufige Fehler und Lösungen

  • Fehler 1: Zielwertsuche findet keinen Wert.

    • Lösung: Überprüfe, ob die Zielzelle und die änderbare Zelle korrekt zugewiesen sind. Erhöhe die Anzahl der Iterationen in den Optionen.
  • Fehler 2: Abweichungen bei den Ergebnissen.

    • Lösung: Nutze den Solver anstelle der Zielwertsuche, um genauere Ergebnisse zu erzielen.

Alternative Methoden

  • Solver verwenden: Der Solver ist oft effektiver als die Zielwertsuche, besonders bei komplexen Berechnungen. Du kannst ihn unter Daten > Solver aktivieren, um mehrere Nebenbedingungen zu berücksichtigen.

  • VBA-Schleifen: Wenn du viele Daten verarbeiten musst, kann eine Schleife in VBA nützlich sein, um die Zielwerte für mehrere Zellen zu berechnen.

Sub SolverBeispiel()
    SolverOk SetCell:="$E$4", _
             To:=1, _
             ByChange:="$K$4"
    SolverSolve
End Sub

Praktische Beispiele

  1. Zielwertsuche für Preisänderungen:

    • Wenn du den Preis eines Produkts änderst und die Präferenzen gleichsetzen möchtest, nutze die Zielwertsuche, um den optimalen Preis zu finden.
  2. Solver für komplexe Modelle:

    • Bei der Berechnung von Nutzenwerten kannst du den Solver verwenden, um mehrere Produkte gleichzeitig zu optimieren und die Abweichungen zu minimieren.

Tipps für Profis

  • Maximale Iterationen: Setze die maximalen Iterationen in der Zielwertsuche hoch genug, um sicherzustellen, dass das Tool genügend Zeit hat, um den richtigen Wert zu finden.
  • Solver-Parameter anpassen: Nutze die erweiterten Optionen im Solver, um die Toleranz und die maximale Zeit für die Berechnung festzulegen.
  • Makros optimieren: Schreibe saubere und optimierte VBA-Codes, um die Laufzeit deiner Makros zu verbessern.

FAQ: Häufige Fragen

1. Warum findet die Zielwertsuche keinen Wert?
Die Zielwertsuche benötigt möglicherweise mehr Iterationen oder die Parameter sind falsch gesetzt. Überprüfe die Einstellungen.

2. Kann der Solver auch für viele Zellen gleichzeitig verwendet werden?
Ja, der Solver kann für mehrere Zellen gleichzeitig verwendet werden, indem du mehrere Nebenbedingungen hinzufügst.

3. Was ist der Unterschied zwischen Zielwertsuche und Solver?
Die Zielwertsuche ist einfacher für grundlegende Berechnungen, während der Solver komplexe Probleme mit mehreren Variablen und Bedingungen lösen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige