Aufgabe
Es besteht eine Tabelle von Messpunkten mit den entsprechenden Messwerten. Es soll ein Wert interpoliert werden, der zwischen 2 Messpunkten liegt (Es werden nur diese 2 Punkte betrachtet; - also nicht der Trend).
A
B
C
D
1
Messpunkt
Messwert
47
2
10
1,2
3
20
1,8
4
25
2,7
5
40
3,2
6
50
4,1
7
65
4,3
8
75
4,7
40
9
80
4,9
50
10
90
5,4
11
100
6,2
3,83
Lösung
Messpunkte in Spalte A.
Messwerte in Spalte B.
Der Messpunkt für den der Messwert linear interpoliert werden soll steht in D1.
Die Untergrenze in D8:
{=MAX(WENN(A2:A99<=D1;A2:A99))}
Die Obergrenze in D9:
{=MIN(WENN(A2:A99>=D1;A2:A99))}
Interpolationswert:
=WENNFEHLER(INDEX(B:B;VERGLEICH(D1;A:A;0));((D1-D8)*INDEX(B:B;VERGLEICH(D9;A:A;0))+ABS(D1-D9)*INDEX(B:B;VERGLEICH(D8;A:A;0)))/(D9-D8))
als Bombenlegerformel ohne D8 und D9:
{=WENNFEHLER(INDEX(B:B;VERGLEICH(D1;A:A;0));((D1-MAX(WENN(A2:A99<=D1;WENN(A2:A99<>"";A2:A99))))*INDEX(B:B;VERGLEICH(MIN(WENN(A2:A99>=D1;WENN(A2:A99<>"";A2:A99)));A:A;0))+(MIN(WENN(A2:A99>=D1;WENN(A2:A99<>"";A2:A99)))-D1)*INDEX(B:B;VERGLEICH(MAX(WENN(A2:A99<=D1;WENN(A2:A99<>"";A2:A99)));A:A;0)))/(MIN(WENN(A2:A99>=D1;WENN(A2:A99<>"";A2:A99)))-MAX(WENN(A2:A99<=D1;WENN(A2:A99<>"";A2:A99)))))}
und mit der Funktion TREND:
=WENNFEHLER(SVERWEIS(D1;A:B;2;0);TREND(WENN({1.0};SVERWEIS(KKLEINSTE(A:A;ZÄHLENWENN(A:A;"<"&D1));A:B;2;0);SVERWEIS(KGRÖSSTE(A:A;ZÄHLENWENN(A:A;">"&D1));A:B;2;0));WENN({1.0};KKLEINSTE(A:A;ZÄHLENWENN(A:A;"<"&D1));KGRÖSSTE(A:A;ZÄHLENWENN(A:A;">"&D1)));D1))
zusammengefasst:
=TREND({3,2.4,1};{40.50};47)
Ganz anderer Ansatz und knackig kurz von Josef Burch:
=INDEX(B2:B11+(D1-A2:A11)*(B3:B12-B2:B11)/(A3:A12-A2:A11);VERGLEICH(D1;A2:A11;1))
Allerdings müssen hier die Messpunkte zwingend aufsteigend und ohne Leerzellen vorliegen.