Summenformel in Excel nachbilden
Gepostet am: Jan 23, 2011 7:5:58 PM
Da ich heute gefragt wurde, wie man eine Summenformel in Excel nachbildet, hier eine kleine Einführung:
Angenommen man möchte folgendes ausrechnen:[Ergebnis: 104.050.713.170]
{=SUMME(10*ZEILE(INDIREKT(D3&":"&D4))^(ZEILE(INDIREKT(D3&":"&D4))))}
Da es sich um eine Matrixformel handel, darf {} nicht eingegeben werden, sondern die Formel wird stattdessen mit StrG+Shift+Enter abgeschlossen.
Aber was steckt dahinter
Vereinfacht gesagt wird mittels [Zeile(Indirekt(von&":"&bis))] die veränderliche Variable ersetzt und darüber die "Matrix-Summe"
Das geht natürlich auch mittels einer recht einfachen VBA-Funktion:
Summe2()
Public Function Summe2(sTerm As String, sVariabe As String, von As Integer, bis As Integer) As DoubleDim i As Integer sTerm = Replace(sTerm, ",", ".") 'Komma berichtigen sTerm = Replace(sTerm, ";", ",") 'Trennzeichen in Formeln berichtigenFor i = von To bis Summe2 = Summe2 + Application.Evaluate(Replace(sTerm, sVariabe, i))NextEnd Function
Beachte: in diesem Fall sind auch in der deutschen Version die englischen Excel-Termini in den Formeln notwendig!!! [Excel Funktionen Englisch Übersicht]