Pour l'explication un peu plus détaillée :
RECHERCHE/RECHERCHEV(par défaut) fonctionnent ainsi :
Elles parcourent le vecteur donné en 2e argument et comparent 1 par 1 les valeurs du vecteur à celle recherchée.
- Si la valeur_courante ≤ valeur_recherchée : on poursuit la recherche. Et la valeur_courante est gardée en mémoire comme "meilleur match".
- Si valeur_courante > valeur_recherchée : la recherche s'arrete, meme si le vecteur n'a pas été entièrement parcouru. Le "meilleur match" est renvoyé (càd la valeur précédente).
C'est pourquoi =RECHERCHE("C"; {"A";"B";"D";"C"}) renvoie "B" => "D">"C" donc valeur précédente.
Maintenant dans RECHERCHEV, si on met le 4e argument sur TRUE, on force Excel à parcourir l'ensemble de la liste, et donc on n'a plus besoin de la trier. La recherche ne s'arrete que si une valeur identique est trouvée, sinon #NA. C'est un peu plus couteux en ressources forcément.
C'est pourquoi =RECHERCHEV("C"; {"A";"B";"D";"C"};1; FAUX) renvoie "C", car la valeur existe bien dans la liste.