Considérons une version améliorée de la fonction VLOOKUP - VLOOKUP3, qui nous donne la possibilité de substituer des valeurs lorsque deux conditions correspondent. Cette fonction peut être utile dans les cas où nous n'avons pas de valeurs uniques dans le champ sur lequel nous devons effectuer une combinaison.
Supposons que nous devions joindre deux tables, mais que nous n'ayons pas de valeurs uniques :
Comme vous pouvez le constater, nous avons des emprunteurs portant les mêmes noms de famille et des contrats de crédit portant les mêmes numéros. Combiner avec une fonction normale VLOOKUP sera problématique car il ne correspond qu'à une seule condition à la fois et uniquement à la première valeur trouvée.
Refaisons notre VLOOKUP habituel pour remplacer les valeurs selon deux conditions.
Ouvrir le menu Service - Macro - Editeur Visual Basic , insérez le nouveau module (menu Insert - Module ) et copiez-y le texte de celui-ci les fonctions:
Function VLOOKUP3(Table1 As Range, _ SearchValue1 As Variant, _ Table2 As Range, _ SearchValue2 As Variant,_ ResultColumn As Range) 'moonexcel.com.ua Dim i As Integer For i = 1 To Table1.Rows.Count If Table1.Cells(i, 1) = SearchValue1 Then If Table2.Cells(i, 1) = SearchValue2 Then VLOOKUP3 = ResultColumn.Cells(i, 1) Exit For End If End If Next i End Function
Fermer l'éditeur Visual Basic et revenez à Excel.
Maintenant en Assistants de fonctions dans la catégorie Défini par l'utilisateur vous pouvez trouver notre fonction VLOOKUP3 et l'utiliser. La syntaxe de la fonction est la suivante :
=VLOOKUP3( plage1 ; valeur_recherchée1 ; plage2 ; valeur_recherchée2 ; la plage à partir de laquelle nous substituons les valeurs )
Autrement dit, afin de remplacer correctement le montant du prêt par le nom de famille et le numéro de contrat dans la cellule E15 vous devrez saisir :
=VLOOKUP3($A$2:$A$11; A15; $B$2:$B$11; B15; $C$2:$C$11)
N'oubliez pas non plus de fixer les fourchettes avec un signe dollar ($) , afin de ne pas manquer les plages lors de la copie de la formule (pour une correction rapide, vous pouvez également utiliser la touche F4).