AW: Formel vereinfachen
14.08.2019 16:54:12
volti
Hallo Claudia,
ein Vorschlag zur Vereinfachung der Formeln wären z.B. zwei benutzerdefinierte Funktionen. Die sind zwar langsamer, aber bei nicht allzu vielen Daten klappt's ganz gut.
Hier ein Muster, das Du aber noch anpassen müsstest, da ich Deine Formeln nicht ganz durchschaut habe:
Function Saldo(sCode, Alt, Neu)
Select Case sCode
Case "+", "1", "2", "3": Saldo = Alt + Neu
Case "-": Saldo = Alt - Neu
Case Else
End Select
End Function
Function Bar(sCode, Alt, Neu)
Select Case sCode
Case "+", "1", "7", "9": Bar = Alt + Neu
Case "-", "2": Bar = Alt - Neu
Case Else
End Select
End Function
In die Felder der Spalte I kommt diese Formel rein:
=Saldo($C15;$I15;$H16)
und in Spalte J kommt diese Formel rein:
=Saldo($C15;$I15;$H16)
Innerhalb der Funktionen kannst Du ganz einfach Deine Parameter ergänzen.
Falls Du jedoch lieber über Deine Definitionstabelle arbeiten möchtest, könntest Du es z.B. auch so machen (mit einer Formel):
Function Erg(Art, sCode, Alt, Neu)
Dim Zl As Long, Sp As String
On Error Resume Next
Zl = Application.WorksheetFunction.Match(sCode, Range("M:M"), 0)
If Zl <> 0 Then
If UCase(Art) = "S" Then Sp = "R" Else Sp = "S"
Select Case Cells(Zl, Sp).Value
Case "+": Erg = Alt + Neu
Case "-": Erg = Alt - Neu
Case "=": Erg = Alt
Case Else
End Select
End If
End Function
In die Felder der Spalte I kommt dann diese Formel rein:
==Erg("S";$C19;$I18;$H19)
und in Spalte J kommt diese Formel rein:
=Erg("B";$C19;$J18;$H19)
Natürlich lassen sich diese Funktionsformeln wie normale Excelfunktionen verwenden.
viele Grüße
Karl-Heinz