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 prêt 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 ce à quoi nous sommes habitués VLOOKUP pour substituer des 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
Fermez 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 votre nom de famille et votre numéro de contrat, vous devrez saisir ce qui suit dans la cellule E15 :
=VLOOKUP3(2$AU : 11$AU ; A15 ; 2 $ B $ : 11 $ B$ ; B15 ; 2$CAN : 11$CAN )
N'oubliez pas non plus de fixer les plages avec un signe dollar ($), afin qu'on ne manque pas les plages lors de la copie de la formule (pour une correction rapide, vous pouvez également utiliser la touche F4).