Re : Recherche de valeur la plus proche avec critère de nom
Bonjour
un début de réponse en pièce jointe.
La formule utilisée est :
=SI(ESTNA(RECHERCHEV(MIN(ABS(plage));plage;1;0));RECHERCHEV(-MIN(ABS(plage));plage;1;0);RECHERCHEV(MIN(ABS(plage));plage;1;0))
En simplifiant un peu le travail fait, on a :
plage = formule nommée permettant de déterminer la plage utile du tableau différence correspondant à la parcelle et à l'année feuille.
(Rem : cette formule donne la plage utile correcte que si les parcelles sont listées par groupe, comme dans le fichier exemple que tu nous as envoyé (tous les Aq10 ensemble, l'un en dessous de l'autre, tous les Aq8...) . Si cela n'est pas le cas, il faudra filtrer ton fichier original en conséquence)
Avec MIN(ABS(plage)), on obtient la valeur la plus proche de zéro de cette plage utile (la plus petite différence existante), mais on a perdu son signe, - ou +. Si on trouve par exemple 1, en réalité, c'est peut être -1, peut être 1.
Avec RECHERCHEV, excel "retourne" chercher 1 dans la plage utile. Si il le trouve, il calcule année feuille - 1. Si il ne le trouve pas, il calcule année feuille - (-1).
La formule utilisée ne donne pas toujours le même résultat que toi lorsque l'année feuille est juste au milieu entre deux années sol (2004 entre 2003 et 2005). Dans ce cas, quelle est la bonne solution (2003 ou 2005) ? Si besoin est, on peut modifier la formule pour obtenir les deux réponses. A toi de préciser ton besoin.
J'ai trouvé d'autres formules, mais à chaque fois, il y avait un problème car excel remplace les FAUX par des zéro, ce qui fait que MIN(FAUX;2) donne 0 au lieu de 2. Bien sûr, en mettant un test, (MIN(SI....;....), on devrait pouvoir éliminer ce problème, mais, dans le cas présent, je n'y suis pas arrivé dans tous les cas.
@ plus