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,