Disons que nous avons un tableau de prêts avec la sécurité correspondante. Nous devons, par exemple, afficher une liste de garanties pour chaque prêt dans une cellule.
Excel ne peut nous fournir qu'une simple fonction CONCATENATE, mais vous devrez sélectionner manuellement les cellules nécessaires. Afin de simplifier le travail, nous devons automatiser le processus de combinaison de texte provenant de différentes cellules selon une condition. Ainsi, si vous avez besoin de « concaténer » rapidement du texte provenant de différentes cellules à l’aide de la condition IF, vous devez alors écrire votre propre fonction.
Tableau des prêts garantis :
Créons donc notre propre fonction et appelons-la CONCATIF. Pour cela, ouvrez le menu Service - Macros - Visual Basic Editor, insérez le module VBA (menu Insert - Module) et copiez-y le texte de cette fonction :
Function CONCATIF(Table As Range, SearchValue As Variant, Table2 As Range) 'moonexcel.com.ua Dim i As Integer For i = 1 To Table.Rows.Count If Table.Cells(i, 1) = SearchValue Then If Not IsEmpty(Table2.Cells(i, 1).Value) Then CONCATIF = CONCATIF & Table2.Cells(i, 1).Value & "; " End If End If Next i CONCATIF = Left(CONCATIF, Len(CONCATIF) - 2) End Function
Fermez Visual Basic Editor et revenez à Excel.
Maintenant, dans Function wizard dans la catégorie User défini vous pouvez trouver notre fonction CONCATIF et l'utiliser. La syntaxe de cette fonction est la suivante :
=CONCATIF (colonne de valeurs de recherche ; valeur de recherche ; colonne de données à combiner)
Nous aurons le résultat suivant :
Enfin, vous devez verrouiller les plages A2:A10 et C2:C10 avec un signe dollar ($) afin que les plages ne se déplacent pas vers le bas lorsque vous copiez la fonction.