Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

SPLINE-Funktion für Reihen-Bereich

SPLINE-Funktion für Reihen-Bereich
30.04.2018 10:17:13
KeLo
Hallo,
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]

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SPLINE-Funktion für Reihen-Bereich
01.05.2018 06:49:00
coachyou
Hallo KeLo,
versuch es mal mit :
=cubspline(1;A3;MTRANS($A$1:$X$1);MTRANS($A$2:$X$2))
GGf. als Matrixformel eingeben.
Gruß Coachyou
AW: SPLINE-Funktion für Reihen-Bereich
02.05.2018 10:19:51
KeLo
Hallo coachyou,
danke, die Idee hatte ich auch schon und es hat leider nicht funktioniert...(auch mit STRG*SHIFT+ENT).
Ich finde das wirklich merkwürdig, weil es ja eigentlich nur um einen beliebiges Array geht. Die Variablen, die die Bereiche mit den vorhandenen Werten enthalten, xx und yy, sind als "Object" definiert in VBA. Kann es damit zusammenhängen?
AW: SPLINE-Funktion für Reihen-Bereich
02.05.2018 10:25:22
KeLo
Irgendwelche anderen Ideen?
Kennt jemand Achim Blok?
03.05.2018 14:30:04
KeLo
Oder kennt jemand vielleicht den Autor des Codes, Achim Blok? Oder gibt es eine Möglichkeit, Verfasser archivierter Forumsbeiträge zu suchen und zu kontaktieren? Vielleicht hat er ja noch Ahnung...
Danke nochmal!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge