TOP

Conectarea textului în celule după condiție (CONCATIF)

Descriere

Să presupunem că avem un tabel de împrumuturi cu garanția corespunzătoare. Trebuie, de exemplu, să afișăm o listă de garanții pentru fiecare împrumut într-o singură celulă.

Excel ne poate oferi doar o funcție simplă CONCATENATE , dar va trebui să selectați manual celulele necesare. Pentru a simplifica munca, trebuie să automatizăm procesul conexiunea textului prin condiție din diferite celule . Deci, dacă ai nevoie rapid „cârlig” text din celule diferite folosind o condiție IF , atunci ar trebui să scrieți propria funcție.


Tabelul creditelor garantate:

cod VBA pentru funcția CONCATIF

Deci, să creăm propria noastră funcție și să o denumim CONCATIF . Pentru a face acest lucru, deschideți meniul Service - Macros - Visual Basic Editor , inserați modulul VBA (meniul Insert - Module ) și copiați acolo textul acestei funcții:

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

Închideți Visual Basic Editor și reveniți la Excel.

Acum, în Function wizard în categorie User defined puteți găsi funcția noastră CONCATIF și o puteți utiliza. Sintaxa acestei funcții este următoarea:

=CONCATIF ( coloana cu valorile căutate ; valoarea de căutare ; coloană cu date de alăturat )

Vom avea urmatorul rezultat:

Și, în sfârșit, trebuie să remediați intervalele A2:A10 și C2:C10 semnul dolarului ($) , astfel încât intervalele să nu se miște în jos la copierea funcției.

Articole pe tema: