Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Mathematische Funktionen

Beitrag: lineare Interpolation von Meßwerten

Aufgabe
Es besteht eine Tabelle von Meßpunkten 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 Meßpunkt  Meßwert    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)))))}

zusammengefasst:
=((47-40)*4,1+(50-47)*3,2)/(50-40)

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.