Digamos que temos uma tabela de empréstimos com garantia correspondente. Precisamos, por exemplo, exibir uma lista de garantias para cada empréstimo em uma célula.
Excel só pode nos fornecer uma função simples CONCATENATE , mas você precisará selecionar as células necessárias manualmente. Para simplificar o trabalho, precisamos automatizar o processo conexão de texto por condição de células diferentes . Então, se você precisar rápido "gancho" texto de células diferentes usando uma condição IF , então você deve escrever sua própria função.
Tabela de empréstimos garantidos:
Então, vamos criar nossa própria função e nomeá-la CONCATIF . Para fazer isso, abra o menu Service - Macros - Editor Visual Basic , inserir módulo VBA (cardápio Insert - Module ) e copie o texto desta função 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
Feche Visual Basic Editor e retorne para Excel.
Agora, em Function wizard na categoria User definido você pode encontrar nossa função CONCATIF e usá-la. A sintaxe desta função é a seguinte:
=CONCATIF ( coluna com valores pesquisados ; valor de pesquisa ; coluna com dados para juntar )
Teremos o seguinte resultado:
E finalmente, você precisa corrigir os intervalos A2:A10 e C2:C10 cifrão ($) , para que os intervalos não se movam para baixo ao copiar a função.