SPLINE-Funktion für Reihen-Bereich
30.04.2018 10:17:13
KeLo
für eine Interpolation von Lastgangdaten habe ich diese schöne SPLINE-Funktion verwendet:
https://www.herber.de/forum/archiv/736to740/739714_MessdatenAnpassung_durch_kubische_Splines.html
Die Funktion funktioniert hervorragend für meinen ersten Anwendungsfall, wo meine Zeitreihen jeweils in Spalten vorliegen (Zeitstempel A1:A8760, Lastdaten B1:B8760, Zeitstempel 15-minütig C1:C35040, interpolierte Werte werden in Spalte D ausgegeben).
Ich wollte die Funktion jetzt für eine ähnliche Aufgabe verwenden, nur, dass diesmal die Zeitstempel und zugehörigen Daten horizontal angeordnet sind (Zeitstempel A1:X1, Lastdaten A2:X2, Zeitstempel 15-minütig A3:FB3, interpolierte Werte sollen in Zeile 4 ausgegeben werden).
Leider kommt immer ein #VALUE-error zurück. Excel/VBA sagt mir leider nicht, an welcher Stelle genau der Fehler auftritt. Bei meiner Fehlersuche kam ich darauf, dass es eigentlich nur an der horizontalen Anordnung liegen kann, da ich die gleichen Werte auch noch einmal vertikal angeordnet berechnet habe und es hier kein Problem war.
Die Frage ist nun: Warum ist das so und wie kann ich das beheben?
Ich könnte natürlich die Tabelle transponieren und dann die Funktion anwenden, was aber leider mit einigem Aufwand verbunden wäre, weshalb ich lieber das Ursprungsproblem lösen würde.
Meinem Verständnis nach definiert der Ausdruck "A1:X1" eine range, unabhängig von vertikaler oder horizontaler Anordnung, weshalb ich nicht verstehe, warum es vertikal klappt und horizontal nicht.
Die Funktion wird wie folgt definiert:
Public Function cubspline(Method As Integer, xi As Double, _
xx As Object, yy As Object) As Double
xi ist der Zeitstempel, für den ich interpolieren möchte, xx der Zeitstempel der ursprünglichen Auflösung und yy die Lastdaten in der ursprünglichen Auflösung. Die Formel wird dann in die jeweilige Zelle zu dem zeitlichen Zwischenschritt kopiert: A4=cubspline(1;A3;$A$1:$X$1;$A$2:$X$2)
[Method ist hier nicht von Bedeutung, hat den Wert 1]
Kann es an der Definition der Variablen liegen?
Herzlichen Dank im Voraus!
[Excel 2016]