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:
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
=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.