Interpolation linéraire

nougitch

XLDnaute Occasionnel
Bonjour,

Je cherche à faire une interpolation de taux, c'est-à dire que pour un nombre de jours donné (56 dans mon exemple ci-joint), j'interpole avec les 2 taux de part et d'autre de 56 jours, dans ce cas, 30 jours et 60 jours. L'exemple est très parlant.

Mon problème c'est que je ne sais pas comment faire une espèce de Vlookup en fonction de la durée souhaitée.

En B1 : durée souhaitée.
En B3 : solution

Merci par avance pour votre aide.
 

Pièces jointes

  • IR.xls
    15 KB · Affichages: 185
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : Interpolation linéraire

Bonjour,

Une proposition en pièce jointe, avec un bout d'explication.

Dis-nous si cela te convient.

Petites recommandations :
A l'avenir ne donne plus des exemples avec des fonctions personnelles (d'autant plus sur un fichier anglais) et des fichiers avec un calcul sur ordre.
Cela oblige celui qui veut t'aider à faire des recherches pour savoir pourquoi ses formules ne fonctionnent pas !
 

Pièces jointes

  • InterpolationLinéaire.zip
    3.8 KB · Affichages: 260

nougitch

XLDnaute Occasionnel
Re : Interpolation linéraire

Hoerwind,

Merci beaucoup, cela correspond à ce que je souhaite faire.
Juste une question s'il te plaît : à quoi sert le "+0.01" dans la fonction MATCH() ?

Désolé, j'ai une version anglaise d'Excel et ce coup si je n'ai pas fait gaffe, j'ai collé les formules au lieu des valeurs.

Merci.
 

pierrejean

XLDnaute Barbatruc
Re : Interpolation linéraire

bonjour nougitch

Avec une fonction personnalisée
Nb: j'ai recopié par valeur le tableau des taux (fonction non reconnue par ma version Excel)
de même il y a une sub change dans la feuille 1 pour actualiser au chgt de B1

Edit: Salut hoerwind :)
 

Pièces jointes

  • IR.zip
    8.5 KB · Affichages: 98

hoerwind

XLDnaute Barbatruc
Re : Interpolation linéraire

Re, salut pierrejean,

La fonction EQUIV, sans le 3ème argument (ou avec 1 comme argument), renvoie la valeur cherchée, mais si celle-ci n'est pas trouvée, la valeur immédiatement inférieure.
La même fonction avec le +1 renvoie la valeur supérieure.

Cela fonctionne fort bien, sauf si la valeur exacte est trouvée, car alors ce sont la valeur exacte et la valeur supérieure qui sont renvoyées.
Pour éviter ce "piège" l'astuce employée est d'ajouter une valeur infime à la valeur cherchée.
Comme les valeurs cherchées sont des entiers, 0,1 suffit (0.01 par précaution), mais si c'était des valeurs à deux décimales il faudrait ajouter au moins 0,001.

J'espère que cette explication est claire et qu'elle répond à ta question.
 

Statistiques des forums

Discussions
312 322
Messages
2 087 275
Membres
103 507
dernier inscrit
tapis23