Résumé
Pour effectuer une RECHERCHEV sensible à la casse, la solution la plus simple est de ne pas utiliser la fonction RECHERCHEV. Il faut utiliser la fonction INDEX, la fonction EQUIV et la fonction EXACT. Dans l’exemple ci-dessus, la formule en F9 est :
=INDEX( D5:D10 ; EQUIV( VRAI ; EXACT( B5:B10 ; F5 ) ; 0 ) ; 1 )
Cette formule recherche la référence de l’article en tenant compte des majuscules et des minuscules et renvoie le prix.
Formule Excel – RECHERCHEV sensible à la casse
=INDEX( col_valeurs ;
EQUIV( VRAI ; EXACT( col_recherche ; valeur_cherchée ) ; 0 ) ;
1 )
Explications
Dans notre exemple, nous avons une liste des références d’articles avec les quantités et prix. Nous souhaitons récupérer le prix d’un article. Deux articles ont la même référence sauf en ce qui concerne l’utilisation des majuscules et minuscules. Il faut faire une RECHERCHEV sensible à la casse.
Il existe plusieurs solutions mais la plus simple n’utilise pas la fonction RECHERCHEV. Elle utilise la fonction EXACT, la fonction INDEX et la fonction EQUIV.
Fonction EXACT
La fonction EXACT permet de comparer deux textes et vérifier s’ils sont égaux en tenant compte des majuscules et minuscules. Elle est dite sensible à la casse. Sa syntaxe est :
= EXACT( valeur_1 ; valeur_2 )
Elle renverra VRAI ou FAUX suivant que les valeurs soient exactes ou non tout en tenant compte de la casse.
= EXACT( 1 ; "A" ) --> FAUX
= EXACT( "Excel" ; "EXCEL") --> FAUX
= EXACT( "EXCEL" ; "EXCEL") --> VRAI
Il est possible de saisir en tant que valeur une plage de cellules. La fonction comparera alors chacune des cellules avec la seconde valeur et renverra une plage de VRAI/FAUX. Dans notre exemple nous avons :
= EXACT( B5:B10 ; F5 )
= EXACT( {"AB - 55412" ; "AGF - pa - 25473" ; "AGF - PA - 25473" ; "F - PA - 1000" ; "CK - 220" ; "CHA - 1100" } ;
"AGF - PA - 25473")
--> Résultat: {FAUX;FAUX;VRAI;FAUX;FAUX;FAUX}
Nous obtenons une plage de valeurs composée de VRAI/FAUX dont la seule valeur vraie correspond à la valeur identique à la référence recherchée.
Fonction EQUIV
La fonction EQUIV permet de récupérer la position d’une valeur dans une matrice (une ligne ou une colonne). Sa syntaxe est la suivante :
= EQUIV( valeur ; matrice ; 0 )
Dans notre exemple, nous allons récupérer la position de la valeur VRAI dans la plage de valeurs précédemment produite. Nous obtenons la formule suivante :
= EQUIV( VRAI ; {FAUX;FAUX;VRAI;FAUX;FAUX;FAUX} ; 0 )
--> Résultat: 3
Nous savons à présent que dans notre tableau, la valeur se trouve sur la 3e ligne. Il nous reste à présent à récupérer la valeur souhaitée.
Fonction INDEX
La fonction INDEX permet de récupérer une valeur en fonction de sa position dans une matrice. Sa syntaxe est :
= INDEX( tableau ; num_ligne ; num_col )
Nous avons précédemment identifié la ligne que nous souhaitons récupérer. En ne sélectionnant comme tableau que la colonne contenant les données souhaitées (les prix), nous récupérerons la valeur sur la 3e ligne. Nous obtenons la formule suivante :
= INDEX( D5:D10; 3 ; 1 )
--> Résultat: 642
Nous avons pu récupérer le prix de la référence de l’article en respectant la présence des majuscules et minuscules ce qui revient à effectuer une RECHERCHEV sensible à la casse.
Formules en lien
- RECHERCHEV avec plusieurs critères
- RECHERCHEV avec plusieurs résultats
- SOMME de RECHERCHEV
- Combiner INDEX et EQUIV
- INDEX EQUIV avec plusieurs critères
- Corriger l’erreur #N/A
- RECHERCHEX plusieurs critères