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 de combinare a textului din diferite celule în funcție de o condiție. Deci, dacă trebuie să „concatenați” rapid text din celule diferite folosind condiția IF, atunci ar trebui să scrieți propria funcție.
Tabelul creditelor garantate:
Deci, să creăm propria noastră funcție și să o numim CONCATIF. Pentru a face acest lucru, deschideți meniul Service - Macros - Visual Basic Editor, introduceți VBA modulul acolo și copiați textul Mod_bl (în meniu și copiați funcția Mod_t) :
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 din categoria User defined puteți găsi funcția noastră CONCATIF și o puteți utiliza. Sintaxa acestei funcții este următoarea:
=CONCATIF (coloană cu valori de căutare; valoare de căutare; coloană de date de combinat)
Vom avea urmatorul rezultat:
În cele din urmă, trebuie să blocați intervalele A2:A10 și C2:C10 cu un semn dolar ($), astfel încât intervalele să nu se miște în partea de jos atunci când copiați funcția.