Nehmen wir an, wir haben eine Tabelle mit Krediten mit entsprechenden Sicherheiten. Wir müssen beispielsweise eine Liste der Sicherheiten für jeden Kredit in einer Zelle anzeigen.
Excel kann uns nur eine einfache Funktion zur Verfügung stellen CONCATENATE , aber Sie müssen die erforderlichen Zellen manuell auswählen. Um die Arbeit zu vereinfachen, müssen wir den Prozess automatisieren Verbindung von Text nach Bedingung aus verschiedenen Zellen . Wenn Sie es also schnell brauchen „Hook“-Text aus verschiedenen Zellen eine Bedingung verwenden IF , dann sollten Sie Ihre eigene Funktion schreiben.
Tabelle besicherter Kredite:
Erstellen wir also unsere eigene Funktion und benennen sie CONCATIF . Öffnen Sie dazu das Menü Service - Macros - Visual Basic Editor , Modul VBA einfügen (Speisekarte Insert - Module ) und kopieren Sie den Text dieser Funktion dorthin:
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
Schließen Sie Visual Basic Editor und kehren Sie zu Excel zurück.
Jetzt in der Kategorie Function wizard User definiert Sie können unsere Funktion CONCATIF finden und verwenden. Die Syntax dieser Funktion lautet wie folgt:
=CONCATIF ( Spalte mit gesuchten Werten ; Suchwert ; Spalte mit zu verbindenden Daten )
Wir werden folgendes Ergebnis haben:
Und schließlich müssen Sie die Bereiche festlegen A2:A10 Und C2:C10 Dollarzeichen ($) , damit sich die Bereiche beim Kopieren der Funktion nicht nach unten verschieben.