Seite 1 von 1

Re: 17 Werte auf 16384 Werte erweitern und Lücken interpolieren :?:

Verfasst: Do 18. Jan 2024, 12:34
von mikele
Hallo,
das ist insofern etwas kniffelig, weil 17 Werte haben 16 Zwischenräume. Das lässt sich nicht gleichmäßig auf 16384 erweitern.
Wenn es insgesamt 16384 wären, dann wären es zwischen zwei fixen Werten stets 1023 interpolierte.
Wo soll ein Wert entfallen?
Anbei mal eine Idee (für die ersten 1030 Zeilen - Formel wäre weiter nach unten kopierbar)

Re: 17 Werte auf 16384 Werte erweitern und Lücken interpolieren :?:

Verfasst: Do 18. Jan 2024, 17:55
von josinoro
mikele hat geschrieben:
Do 18. Jan 2024, 12:34
Hallo,
das ist insofern etwas kniffelig, ...
Hallo Mikele,

wie kommt man denn auf so eine Formel? Hast du Lust diese näher zu erläutern?

Liebe Grüße

josinoro

Re: 17 Werte auf 16384 Werte erweitern und Lücken interpolieren :?:

Verfasst: Fr 19. Jan 2024, 19:40
von mikele
Hallo,
in meiner Formel stecken sogar noch Fehler. In D2 muss es lauten:

Code: Alles auswählen

=INDEX($A$1:$A$17;ABRUNDEN((ZEILE()-2)/1024)+1)+(INDEX($A$1:$A$17;ABRUNDEN((ZEILE()-2)/1024)+2)-INDEX($A$1:$A$17;ABRUNDEN((ZEILE()-2)/1024)+1))/1024*(REST(ZEILE()-2;1024)+1)
D1 muss direkt den Anfangswert aus A1 bekommen (die festen Werte sind im Bereich A1:A17 abgelegt).

Für den ersten Bereich muss also der Wert aus A1 und der aus A2 genommen werden und dazwischen (linear) interpoliert werden, also in dem gewünschten Szenario wird A1 der erste und A2 der 1025. Wert. Dazwischen sind 1023 Zwischenwerte, also sollen es 1024 gleich große Schritte von 1. zum 1025. werden.
Ein Schritt ist damit (A2-A1)/1024 weit.
Die Werte x_i berechnen sich damit zu A1+(A2-A1)/1024*i.
Der Index i läuft dabei in jedem Intervall von 1 bis 1024. Für die Zeile 2 bis 1025 (1. Intervall) ist es gerade die Zeile+1. Ab Zeile 1026 (2. Intervall) muss es dann wieder neu mit Eins losgehen.
Dafür ist der hintere Teil der Formel zuständig:

Code: Alles auswählen

REST(ZEILE()-2;1024)+1
Nun gilt es noch den ersten und letzten Wert des Intervalls zu bestimmen. Dazu nutze ich die Funktion

Code: Alles auswählen

INDEX($A$1:$A$17;ABRUNDEN((ZEILE()-2)/1024)+1)
INDEX($A$1:$A$17;n) wählt aus dem festen Bereich $A$1:$A$17 den Wert der n-ten Zeile aus.
Die Funktion

Code: Alles auswählen

ABRUNDEN((ZEILE()-2)/1024)
liefert mir für die ersten 1024 Zeilen den Wert Null, dann 1 , ...
Um also die richtige Intervallgrenze zu finden muss ich zu diesem wert nur noch 1 addieren.
wie kommt man denn auf so eine Formel?
Auf alle Fälle entwickelt man so eine Formel nicht in einem Rutsch, sondern Schritt für Schritt um es dann am Ende ggf. in eine Formel zu pressen.
Dazu habe ich in der Datei auf einer weiteren Tabelle das Ganze an einem einfacheren Beispiel (5 feste Werte mit je 2 Zwischenwerten, also 3 Zwischenschritten) detaillierter dargelegt.

Re: 17 Werte auf 16384 Werte erweitern und Lücken interpolieren :?:

Verfasst: Sa 20. Jan 2024, 17:42
von josinoro
Vielen Dank mikele. Das hilft mir sehr viel weiter.