En reprenant la for mule en AA143 : =INDEX(AA148:AA183;SIERREUR(EQUIV(Z143;Z148:Z183;0);EQUIV(Z143;Z148:Z183;-1)))
on a :
EQUIV(Z143;Z148:Z183;-1) : fonction utilisée si la valeur cherchée n'est pas exactement trouvée, l'argument -1 signifie la recherche de la valeur immédiatement supérieure à celle recherchée dans une colonne où les données sont classées en ordre croissant.
SIERREUR(EQUIV(Z143;Z148:Z183;0);EQUIV(Z143;Z148:Z183;-1))
si la recherche de la valeur exacte engendre une erreur alors on exécute la fonction avec une valeur "proche", sinon on renvoie le résultat de la valeur trouvée fonction d'une recherche de valeur exacte.
INDEX(AA148:AA183;SIERREUR(EQUIV(Z143;Z148:Z183;0);EQUIV(Z143;Z148:Z183;-1)))
INDEX renvoit la valeur se trouvant à l'intersection d'une ligne et d'une colonne d'une plage de données.
La plage de données est la plage AA148:AA183; N° de ligne ; N° de colonne)
Ici la plage ne contient qu'une colonne, donc l'argument colonne peut être omis.
N° de ligne est égal au renvoie de la fonction EQUIV
EQUIV revoit la position relative d'une donnée recherchée dans une plage de données, ici la donnée recherchée est Z143, la plage de recherche Z148:Z183. Si EQUIV revoit 1 alors la valeur recherchée est en ligne 1 de la plage de données (etc)
Argument facultatif d'EQUIV :
0= valeur exacte recherchée
1= valeur immédiatement inférieur à celle recherchée mais colonne triées par ordre décroissant
-1= valeur immédiatement supérieur à celle recherchée mais colonne triée par ordre croissant
Fonction SIERREUR :
si première expression renvoie une erreur alors exécution de la deuxième expression
=SIERREUR(2=3;"deux n'est pas égale à 3 !") => renvoie : deux n'est pas égale à 3 !
=SIERREUR(2=2;"deux n'est pas égale à 3 !") => renvoie : VRAI (car 2 est bien égale à 2 !)
@ bientôt
LouReeD