Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Solver

Beitrag: Suche einer Summe aus Kombination von Beträgen

Aufgabe
Ist es möglich, aus einer Liste von Beträgen diejenigen heraus zu picken, die eine vorgegebene Summe ergeben?

Mit dem Solver ist dies möglich, allerdings nur für eine überschaubare Anzahl von Beträgen. Diese Anzahl ist natürlich von der Rechnerstärke abhängig.



Lösung
In A1:A20 stehen die Werte.
Die gesuchte Summe ist 16.935,71

In C1 steht =A1*B1
kopieren bis C20

In D1 steht =SUMME(C:C)
Dies ist die Zielzelle. Der Solver sucht so lange, bis die Zielzelle dem Zielwert entspricht.
Tip: der Zielwert innerhalb des Solvers muss manuell eingegeben werden (ein Zellbezug wird nicht akzeptiert). Das kann man umgehen, indem man den Wert in der Zielzelle subtrahiert. In obigem Beispiel =SUMME(C:C)-G1
Der Zielwert ist dann konstant 0 (null).

Die veränderbaren Zellen sind B1:B20

Über die Nebenbedingungen wird festgelegt, daß die veränderbaren Zellen nur 1 oder 0 enthalten dürfen. Bei 1 wird die Zelle in Spalte A mit addiert, bei 0 nicht. Statt dieser 3 Bedingungen oben <=1 / Ganzzahlig / >=0 reicht auch (seit wann?) $B$1:$B$20=Binär

Man kann auch die Anzahl der zu findenden Beträge festlegen, indem man die Summe B1:B20 in ein Feld schreibt und als weitere Nebenbedingung definiert.
SUMMEWENN funktioniert hier allerdings nicht.

Bei den Solver-Optionen sollte man in diesem Fall "lineares Modell voraussetzen" aktivieren. Das verringert die Rechendauer.
Ebenfalls kann die "Genauigkeit" variiert werden.


Erläuterung
Die Solver-Macke, die immer wieder vergessen wird:
Wenn nur diese eine Datei geöffnet ist, dauert die Berechnung den Bruchteil einer Sekunde.
Wenn viele (rechenintensive) Dateien geöffnet sind, dauert die Berechnung ewig bis unendlich, da ALLE Dateien (auch die, die von der Solver-Lösung nicht tangiert werden) zigtausend mal neu berechnet werden !