Bien sûr, il y a deux formules, une pour la petite valeur et une pour la grande.
- la base : l'objectif initial est de tester si la valeur existe. Pour faire ça, on utilise index+equiv, qui est l'équivalent de RECHERCHEV. La structure est la suivante : index(Matrice de la valeur à renvoyer;equiv(Valeur recherchée; Matrice dans laquelle chercher la valeur recherchée, 0 pour correspondance exacte))
Lorsque notre test index+equiv ne trouve rien (valeur n'est pas dans la colonne D), la formule renvoie une erreur #N/A (not found). Ainsi, avec l'utilisation de SIERREUR, on peut donner un fonctionnement de la formule lorsqu'elle ne trouve pas de correspondance exacte
- la formule pour la valeur inférieure : on va chercher la plus grande valeur de la table qui soit inférieure à la valeur cherchée. Ainsi, comme les valeurs sont triées dans l'ordre croissant, ça revient à chercher la valeur de la cellule la plus "en bas" d'un tableau composé de l'ensemble des valeurs inférieures à notre Valeur cherchée. On utilise donc DECALER, qui nous permet de renvoyer une matrice équivalente à D7😀*, où * correspond à la dernière ligne dont la valeur est inférieure à Valeur cherchée. Ensuite, on utilise là dessus GRANDE.VALEUR pour récupérer la dernière valeur de cette matrice. Avec un offset grâce à INDEX, on peut ainsi aller chercher la cellule à gauche de la cellule contenant la plus grande valeur inférieure à Valeur cherchée.
- la formule pour la valeur supérieure : c'est la même que la précédente, sauf qu'on cherche la grande valeur d'un tableau qui fait une ligne de plus, puisqu'on cherche la valeur "juste après" la dernière valeur inférieure à Valeur cherchée. Puis notre tableau est trié, cette valeur juste après correspond en fait tout bêtement à la valeur de la ligne en dessous.
Bonne journée,