Excel - Lineaire interpolatie functie

Lineaire interpolatie (interpolatie binnen een eendimensionale tabel) kan met reguliere MS Excel functies. Maar dit levert lange formules op die lastig leesbaar en kopieerbaar zijn. Je kunt ook een gebruikersgedefinieerde functie (UDF) interpolateX implementeren. De VBA code van die functie staat onderaan deze pagina. De functie werkt zowel voor oplopende als aflopende headerwaarden, en voor zowel horizontaal als verticaal georganiseerde data. (Als je zowel X als Y wilt interpoleren binnen een 2-dimensionale tabel, zie dan Bilineaire interpolatie. Als je een curve wilt maken die exact door alle datapunten gaat, om te interpoleren, zie dan Cardinal spline interpolatie.)

     Download demo file  (35kB - 21 keer gedownload)



Uitleg bij de berekening van bovenstaand voorbeeld

Visualisatie datatabel
Berekening

X = 470 ligt tussen X = 400 en X = 500. X-fractie = (470 - 400)/(500 - 400) = 0.70

De waarden van de 2 datapunten waartussen geïnterpoleerd moet worden:
     1. (400) = 100
     2. (500) = 150

Interpolatie:
     100 + 0.70 × (150 - 100) = 135.00 hetgeen de einduitkomst is.

VBA code ter plaatsing in een module

In MS Excel, druk Alt+F11 om de Visual Basic Editor te openen (Windows). Via hoofdmenu: Invoegen → Module. Kopieer onderstaande code naar de module.