AW: Summanden einer Summe ermitteln
08.04.2020 15:40:25
Daniel
hi
per VBA ginge es mit dieser Funktion:
Function Summandenanalyse(Summe As Double, ParamArray Summanden() As Variant) As String
Dim i As Long, x As Long
Dim S As Double
Dim Erg As String
For x = 1 To 2 ^ (UBound(Summanden) + 1) - 1
S = 0
For i = 0 To UBound(Summanden)
If (x And (2 ^ i)) = (2 ^ i) Then S = S + Summanden(i)
Next
If S = Summe Then
Erg = Erg & vbLf
For i = 0 To UBound(Summanden)
If (x And (2 ^ i)) = (2 ^ i) Then Erg = Erg & "+" & Summanden(i)
Next
End If
Next
Erg = Replace(Erg, vbLf & "+", vbLf)
Erg = Mid(Erg, 2)
Summandenanalyse = Erg
End Function
kopiere dir diesen Code in ein allgemeines Modul.
du kannst dann die Funktion Summandenanalyse verwenden, sowohl innerhalb von VBA als auch in einer Exclzelle.
der erste Parameter ist die Summe, die folgenden dann die einzelnen Summanden.
Beispiel: =summandenanalyse(4;1;2;3;5)
gruß daniel