Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vorgegebene Summe aus Zahlen berechnen

vorgegebene Summe aus Zahlen berechnen
21.11.2008 11:25:35
mArsupiLami
Moin!
Ich benötige um regelmäßige Fehlerkorrekturen laufen zu lassen ein Script, dem ich eine Summe vorgebe und eine Range aus Zahlen (von mir aus Zellen A:A), das mir die Zusammenstellung aus Zahlen berechnet, die meine gesuchte Summe ergeben (Noch besser: Alle Kombinationen aus der Zahlenmenge, nicht nur die erstbeste).
Eine weitere Einschränkung ergibt sich durch die Möglichkeit, dass jede Zahl auch als negativer Wert eigehen kann (nicht jedoch sowohl positiv als auch negativ, das wäre ja nur eine Erweiterung der Ergebnismenge).
Beispiel:
Gesuchte Summe: 1000
Mögliche Zahlen:
500
200
100
-150
250
50
80
20
Hier sollten nun die Kombinationen 500+200+250+50 und 500+200+100-150+250+80+20
und so weiter möglich sein.
Hat jemand sowas zufällig rumliegen? (Mich nervt es seit nem guten Jahr, dass ich die Möglichkeit noch nicht habe...)
Kostet regelmäßig Unmengen an Zeit im eigenen Kopf Zahlenreihen zu bilden.
Bin doch bestimmt nicht der einzige, der soetwas mal benötigt? :)
VG,
chris
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vorgegebene Summe aus Zahlen berechnen
21.11.2008 11:42:21
Mag
Hi,
Ansatz (hier für Einzellängen 1475, 1175, 875, 575):

Option Explicit
Function Mach(ByVal Zelle As Range) As String
Dim i As Long, j As Long, k As Long, l As Long
Dim summe As Double, max As Double, text As String
Dim wert As Double
wert = Zelle.Value
For i = 0 To wert / 1475
For j = 0 To wert / 1175
For k = 0 To wert / 875
For l = 0 To wert / 575
summe = 1475 * i + 1175 * j + 875 * k + 575 * l
If summe = max Then
max = summe / wert
text = "1475*" & i & "+1175*" & j & "+875*" & k & "+575*" & l & "=" & summe
End If
End If
Next l
Next k
Next j
Next i
Mach = "Sollänge " & wert & ": " & text & ": Nutzungsgrad " & Format(max, "0.00")
End Function


In ein Modul legen. Dann in Tabelle Zelle A1 z.B. 15400 eintragen und in Zelle B1 "=Mach(A1)". Ergebnis: "Sollänge 15400: 1475*4+1175*0+875*1+575*15=15400: Nutzungsgrad 1,00".
Gruss

Anzeige
AW: vorgegebene Summe aus Zahlen berechnen
21.11.2008 11:47:00
ransi
HAllo

von mir aus Zellen A:A


Von dem Gedanken musst du dich ganzschnell verabschieden.
Ich habe sowas mal gebastelt.
Da musst du jede Mögliche Kombination austesten.
Wenn das viele Werte sind, kommen Laufzeiten zusammen, da stirbt man bevor die Ergebnisse feststehen. Beschränke deinen Bereich auf so viele Zellen wie nötig.
Können die Werte auch mehrfach in die Berechnung eingehen ?
Weil 500+500=1000 ?
ransi

Anzeige
AW: vorgegebene Summe aus Zahlen berechnen
21.11.2008 11:53:00
mArsupiLami
Hi,
das war nur zur Vereinfachung gedacht. Die Laufzeiten hatte ich schon bedacht, ich habe im Normalfall nicht mehr als 15-30 Werte, wollte es aber für besonders knifflige Sachverhalte notfalls ebenfalls laufen lassen. Dann muss das Ding halt mal ordentlich rödeln.
Jeder Wert kann nur einmal in die Berechnung eingehen. Entweder positiv oder negativ.
Anzeige
AW: vorgegebene Summe aus Zahlen berechnen
21.11.2008 14:27:49
mArsupiLami
Und was möchtest du mir damit jetzt sagen? Es ist mir - wie bereits erwähnt - bereits bewusst, dass die Berechnung nicht für eine größere Anzahl funktioniert.
Was du vielleicht nicht bedenkst: Ich muss das Verfahren bisher im Kopf berechnen. Das ist ungemein schwieriger :P
Weiterhin funktioniert die Fakultät in diesem Falle nicht, da eine Zahl bei einfacher Verwendung nicht mehr als negativer Gegenwert zur Verfügung steht. Es sind also bei 8 Zahlen nur 8! + 6! + 4! + 2!
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Vorherige Summe aus Zahlen berechnen


Schritt-für-Schritt-Anleitung

Um in Excel eine vorgegebene Summe aus Zahlen zu berechnen, kannst Du ein VBA-Skript verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Option Explicit
    Function Mach(ByVal Zelle As Range) As String
        Dim i As Long, j As Long, k As Long, l As Long
        Dim summe As Double, max As Double, text As String
        Dim wert As Double
        wert = Zelle.Value
        For i = 0 To wert / 1475
            For j = 0 To wert / 1175
                For k = 0 To wert / 875
                    For l = 0 To wert / 575
                        summe = 1475 * i + 1175 * j + 875 * k + 575 * l
                        If summe = max Then
                            max = summe / wert
                            text = "1475*" & i & "+1175*" & j & "+875*" & k & "+575*" & l & "=" & summe
                        End If
                    End If
                Next k
            Next j
        Next i
        Mach = "Sollänge " & wert & ": " & text & ": Nutzungsgrad " & Format(max, "0.00")
    End Function
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Trage in Zelle A1 die gewünschte Summe ein (z.B. 15400).

  6. Trage in Zelle B1 die Formel =Mach(A1) ein und drücke Enter. Das Ergebnis zeigt Dir die Kombinationen, die die vorgegebene Summe ergeben.


Häufige Fehler und Lösungen

  • Fehler: Die Funktion gibt kein Ergebnis zurück.

    • Lösung: Stelle sicher, dass der Wert in der Zelle tatsächlich eine Zahl ist und die Range korrekt definiert ist.
  • Fehler: Die Laufzeit ist zu lang.

    • Lösung: Reduziere die Anzahl der Zellen, die in die Berechnung einfließen, um die Leistung zu verbessern.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, gibt es auch andere Ansätze:

  1. Solver-Add-In verwenden: Du kannst das Solver-Add-In aktivieren, um die optimalen Werte zu finden, die eine bestimmte Summe ergeben.
  2. Matrixformeln: Mit Array-Formeln kannst Du auch bestimmte Kombinationen auswerten, allerdings ist dies oft weniger flexibel und kann komplizierter sein.

Praktische Beispiele

Angenommen, Du hast die folgenden Werte in den Zellen A1 bis A8:

  • 500
  • 200
  • 100
  • -150
  • 250
  • 50
  • 80
  • 20

Um die Kombinationen zu finden, die die Summe 1000 ergeben, kannst Du das oben beschriebene VBA-Skript verwenden. Es wird alle möglichen Kombinationen dieser Zahlen evaluieren.


Tipps für Profis

  • Verwende dynamische Bereiche: Anstatt feste Werte zu verwenden, kannst Du dynamische Bereiche in Excel definieren, um die Flexibilität zu erhöhen.
  • Nutze benannte Bereiche: Das Erstellen von benannten Bereichen kann Deine Formeln klarer und leichter verständlich machen.
  • Testen mit weniger Werten: Beginne mit einer kleineren Anzahl an Werten, um die Logik zu testen, bevor Du die vollständige Range verwendest.

FAQ: Häufige Fragen

1. Welche Zahlen ergeben eine bestimmte Summe in Excel? Mit dem VBA-Skript kannst Du alle möglichen Kombinationen von Zahlen ermitteln, die eine bestimmte Summe ergeben, indem Du den gewünschten Wert in eine Zelle einträgst.

2. Kann ich negative Werte in die Berechnung einbeziehen? Ja, das Skript erlaubt es, sowohl positive als auch negative Werte zu verwenden, jedoch nicht beide für dieselbe Zahl. Achte darauf, dass jede Zahl nur einmal verwendet wird.

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