Diciamo di avere una tabella di prestiti con la corrispondente garanzia. Dobbiamo, ad esempio, visualizzare un elenco di garanzie per ciascun prestito in una cella.
Excel può fornirci solo una semplice funzione CONCATENATE, ma dovrai selezionare manualmente le celle necessarie. Per semplificare il lavoro, dobbiamo automatizzare il processo di combinazione del testo di celle diverse in base a una condizione. Quindi, se hai bisogno di "concatenare" rapidamente il testo da celle diverse utilizzando la condizione IF, dovresti scrivere la tua funzione.
Tabella dei prestiti garantiti:
Quindi, creiamo la nostra funzione e chiamiamola CONCATIF. Per fare ciò, apri il menu Service - Macros - Visual Basic Editor, inserisci il modulo VBA (menu Insert - Module) e copia il testo di questa funzione lì:
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
Chiudi Visual Basic Editor e torna a Excel.
Ora, in Function wizard nella categoria User Definite puoi trovare la nostra funzione CONCATIF e usarla. La sintassi di questa funzione è la seguente:
=CONCATIF (colonna dei valori di ricerca; valore di ricerca; colonna dati da combinare)
Avremo il seguente risultato:
Infine, devi bloccare gli intervalli A2:A10 e C2:C10 con il simbolo del dollaro ($) in modo che gli intervalli non si spostino verso il basso quando copi la funzione.