En quoi consiste les variations de la fonction PROCV dans Excel ?

Si vous êtes de ceux qui préfèrent voir l'explication en vidéo, il existe un module sur la fonction PROCV dans le cours de base en ligne sur Excel. 

Si vous connaissez déjà PROCV et que vous souhaitez connaître des fonctionnalités plus avancées comme l'INDICE dont on parlera plus en détail dans ce post, il vous est recommandé le cours Excel avancé.

Deux problèmes possibles avec PROCV

Il y a deux problèmes qui peuvent rendre difficile l'utilisation de cette fonctionnalité. 

Dans l'exemple ci-dessus, on a deux conditions, la marque et le type de véhicule. 

Si on voulait utiliser PROCV sans aucune autre fonction pour aider à trouver la valeur de base dans le tableau de spécification des valeurs, on aurait des problèmes, car on utiliserait soit la colonne des marques, soit la colonne des types de véhicules. 

Dans ce cas, il y a un problème classique, qui est de voir toutes les valeurs de vente réalisées, mais PROCV ne vous renverrait qu'une valeur et, dans ce cas, il y a aussi un minimum de 2 valeurs par option. 

On voit maintenant comment résoudre chacun de ces problèmes et ce que vous devez utiliser pour obtenir le meilleur résultat.

Exemple de PROCV avec plus d'une condition

Comme tout dans Excel, vous pouvez toujours penser à la logique en utilisant d'autres fonctions pour résoudre votre problème.

Par conséquent, on commence par comprendre le problème auquel on est confronté ici en comprenant le concept de PROCV. 

Voir sa syntaxe : =PROCV(searched_value; matrix_table;column_index; range)

La valeur recherchée est une valeur unique et dans notre cas, on veut examiner deux valeurs différentes : La marque et le type de véhicule. 

On n'a pas pu utiliser dans la searched_value les cellules G4 et G5 en même temps.

Trouvez une fonction qui transforme ces 2 valeurs en une seule. Comme on le sait, la fonction CONCATENAR est utilisée pour grouper des chaînes de caractères.

Si vous voulez en savoir plus, consultez notre post avec 5 applications CONCATENAR. 

En l'utilisant dans les cellules G4 et G5, on aurait quelque chose. Voir que vous avez mis un trait d'union dans la concaténation pour avoir un texte plus convivial. 

Sans elle, on aurait IvecoFurg, ce qui pourrait dérouter un utilisateur qui n'en comprendrait pas le but. 

Maintenant, pour avoir le bon résultat, il faut créer une colonne supplémentaire dans la table de la base de données, pour avoir le même type de résultat. Si la colonne supplémentaire ne vous convient pas, vous pouvez la cacher sans problème. 

Il ne reste plus qu'à utiliser PROCV en utilisant la cellule qu'on a ajoutée et la matrice qui recherche les valeurs dans les colonnes D et E, voir formule. 

La fonction travaille parfaitement et vous pouvez utiliser même plus de deux colonnes si vous le souhaitez.

 Il est également possible d'utiliser CONCATENAR directement dans la fonction.

Exemple de PROCV dans une liste avec des valeurs répétées

Dans le deuxième cas, on n'a plus le problème de la recherche de 2 types de valeurs différentes, mais on a une seule liste avec des valeurs répétées.

Voyez que dans la liste de vendeurs, on a Jarbas (2 reps), Josiah (4 reps) et Jonas (3 reps). 

En essayant de rechercher un historique des ventes de chacun d'entre eux, on aura des problèmes. 

Observez que lorsque vous utilisez PROCV, il cherchera toujours la première valeur_procurado Jarbas et, lorsqu'il la trouvera, il retournera la deuxième ou la troisième colonne, selon ce qu'on recherche. 

Il arrive que lorsqu'on prend cette formule pour essayer de voir les autres ventes, elle ne fonctionne pas, elle renvoie toujours les mêmes valeurs. 

On peut utiliser la fonction INDICE avec d'autres : MINOR, SE et LIN pour créer une fonction de matrice qui recherche la valeur recherchée dans toutes les occurrences. 

Pour obtenir le résultat correctement, vous devez utiliser la fonction suivante : {=SEER(INDEX($B$4:$D$12;MINOR(IF($B$4:$B$12=$G$4;LIN($B$4 :$B$12)-3);LIN(A1));2) ;"")}

Voir que la fonction a des touches { } avant de commencer et à la fin, cela indique qu'il s'agit d'une fonction matricielle. 

Pour transformer votre fonction en une fonction matricielle, il suffit d'appuyer sur la touche CTRL MAJ ENTRÉE après l'avoir écrite en entier.

 Si on changait le nom du vendeur sur notre liste, on aurait un nouveau résultat.

Étape par étape de l'utilisation des fonctions dans cette formule matricielle

Comme, il y a une fonction très complexe, vous allez vous montrer étape par étape afin que vous compreniez chaque facteur expliqué. Pour commencer, la première fonction qu'on utilisera est IF avec LIN.

=SE($B$4:$B$12=$G$4;LIN($B$4:$B$12)-3)

En gros, vous demandez à Excel d'analyser la ligne B entre les cellules 4 et 12 qui est celle où vous avez des ventes, elle pourrait être plus élevée si vous avez plus de ventes. 

Chaque fois qu'il trouvera un résultat égal à la valeur de G4 : nom du vendeur, il retournera la ligne de ce résultat. Dans le cas ci-dessus, il s'agirait des lignes 5, 8, 11 et 12. On soustrait maintenant 3 de ces valeurs pour simuler que la liste commence dans la ligne. Donc, vous auriez les valeurs 2, 5, 8 et 9.

 Maintenant, vous voulez dire à Excel que des valeurs qu'il a trouvées, il renverra la plus petite

= MINOR(IF($B$4:$B$12=$G$4;LIN($B$4:$B$12)-3);LIN(A1))

Voir que la seule partie de la formule avec une référence relative est LIN: A1. Cela se produit volontairement, car lorsqu'on fait glisser la formule vers le bas, elle renvoie respectivement les deuxièmes, troisièmes et quatrièmes plus petites. 

Si on a marqué un autre vendeur, on n’aurait que ses ventes numérotées dans l'ordre correct. 

Comme Jonas n'a fait que 3 ventes, une erreur #NONE, apparaît au point de vente 4. 

En tout cas, on n'a pas encore pu mettre le nom du produit vendu, juste sa référence. 

Pour arriver à ce résultat, on utilisera la fonction INDICE. Comme on l'a dit au début, c'est la fonction principale pour arriver à ce résultat, puisqu'elle recherche une certaine liste à partir de valeurs imputées.

Ainsi, on va chercher dans la table B4 : D12 la référence de ligne obtenue par la plus petite fonction et en analysant toujours la valeur de la deuxième colonne : Type de véhicule de la table de référence initiale.

De cette façon, on transforme les nombres en valeurs et on a déjà le résultat souhaité. 

Il ne reste plus qu'à ajuster la formule pour éviter les erreurs, puis à la reproduire dans la colonne suivante pour obtenir les valeurs de vente. 

Cette étape est très simple et sans mélange. 

Il suffit de répéter la fonction utilisée en plaçant le SEERRO devant et en laissant une valeur vide à la fin. En se rappelant que la fonction est matricielle, dès le début, cela fait que chaque fois qu'on touche la boîte de formules, il faut utiliser la touche CTRL MAJ ENTRÉE. 

Rappelez-vous aussi d'utiliser la poignée pour faire glisser les formules vers le bas et de ne pas avoir à les faire une par une. 

Ainsi, on disparaîtrait avec la valeur de l'erreur. 

Comprenez bien qu'il est toujours là, mais qu'il est déguisé en valeur vide pour que votre tableur soit plus convivial pour le spectateur. 

Il est évident qu'il faudrait faire un changement : changer la valeur 2 de la fonction ÍICE pour la valeur 3. 

On le fera, car on veut maintenant rechercher les valeurs de base : Colonne D du tableau auxiliaire. Prêt, ce serait la fonction de la colonne D :

{=SEERRO(CONTENTS($B$4:$D$12;MINOR(IF($B$4:$B$12=$G$4;LIN($B$4:$B$12)-3);LIN(A1));2) ;")}

Comment faire ?

Si vous avez apprécié les possibilités de PROCV et de la fonction INDICE et que vous souhaitez en savoir un peu plus, essayez le cours Excel avancé. 

Si vous utilisez d'autres fonctions ou d'autres moyens pour obtenir ces résultats, parlez-en.