TOP

Connexion du texte dans les cellules par condition (CONCATIF)

Description

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 fonction simple CONCATENATE , mais vous devrez sélectionner manuellement les cellules requises. Pour simplifier le travail, nous devons automatiser le processus connexion du texte par condition à partir de différentes cellules . Donc si tu en as besoin rapidement texte "accrocher" provenant de différentes cellules en utilisant une condition IF , alors vous devriez écrire votre propre fonction.


Tableau des prêts garantis :

VBA code pour la fonction CONCATIF

Alors, créons notre propre fonction et nommons-la CONCATIF . Pour ce faire, ouvrez le menu Service - Macros - Visual Basic Editor , insérer 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 avec les valeurs recherchées ; valeur de recherche ; colonne avec les données à joindre )

Nous aurons le résultat suivant :

Et enfin, vous devez corriger les plages A2:A10 et C2:C10 signe dollar ($) , afin que les plages ne descendent pas lors de la copie de la fonction.

Articles sur le sujet :