550 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich habe eine Liste von Namen, die jeweils mehrere ID zugeordnet sind
(siehe Beispiel: "Liste").

Nun möchte ich eine Übersicht erstellen, bei der in einer Spalte der
Name steht und in der Spalte neben dem Namen die jeweiligen ID nur
mit Semikolon getrennt aufgelistet sind (siehe Beispiel: "Übersicht").

Wie mache ich das?

1479206425.png">Bildupload.eu/thumb/98fbb4-1479206425.png">Beispiel

Danke und viele Grüße
Christian

6 Antworten

0 Punkte
Beantwortet von
.. .hier nochmal der Link zum Beispiel:

http://www.bilder-upload.eu/thumb/98fbb4-1479206425.png
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Christian,

das könntest du mit einer benutzerdefinierten Funktion lösen.
Kopiere den folgenden Code in ein Standard-Modul deiner Tabelle:

Public Function Verkettenwenn(ByRef Bereich As Range, ByRef Suchbegriff As Variant, ByRef Suchspalte As Long, ByRef Ergebnisspalte As Long) As String
'Eingabe wie eine normale Formel in Exceltabelle
' =Verkettenwenn(Datenbereich, Suchbegriff, Suchspalte, Ergebnisspalte)
' =Verkettenwenn(B11:C21;B4;1;2)
' Daten stehen im Bereich B11 bis B21
' in Zelle B4 steht der Suchbegriff
' in Spalte B (=Suchspalte; hier 1. Spalte des Bereiches) stehen die Suchbegriffe des zusammenfassenden Bereichs
' in Spalte C (=Ergebnisspalte; hier 2. Spalte des Bereiches) stehen die Begriffe, die zusammengefasst werden sollen

Dim varBereich As Variant
Dim z As Long

varBereich = Bereich

For z = LBound(varBereich, 1) To UBound(varBereich, 1)
If varBereich(z, Suchspalte) = Suchbegriff Then Verkettenwenn = Verkettenwenn & varBereich(z, Ergebnisspalte) & ";"
Next z

'letztes Semikolon abschneiden
Verkettenwenn = Left(Verkettenwenn, Len(Verkettenwenn) - 1)

End Function


Schreibe in C4 die folgende Formel:
=Verkettenwenn($B$11:$C$21;B4;1;2)
und ziehe sie soweit wie benötigt nach unten.

Gruß

M.O.
0 Punkte
Beantwortet von
Hi M.O.

wow, klasse - funktioniert! vielen Dank!!!!!
0 Punkte
Beantwortet von
Zusatzfrage: wie schaffe ich es, dass jetzt doch nach dem ";" ein Leerzeichen ist?

Also z.B. "1; 2" statt "1;2" --- mit "; " im Modul bekomme ich "1; 2;" als Ergebnis
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Christian,

du musst auch noch die folgende Zeile entsprechend ändern:
'letztes Semikolon abschneiden
Verkettenwenn = Left(Verkettenwenn, Len(Verkettenwenn) - 2)

Der Code sollte dann so aussehen:
Public Function Verkettenwenn(ByRef Bereich As Range, ByRef Suchbegriff As Variant, ByRef Suchspalte As Long, ByRef Ergebnisspalte As Long) As String
'Eingabe wie eine normale Formel in Exceltabelle
' =Verkettenwenn(Datenbereich, Suchbegriff, Suchspalte, Ergebnisspalte)
' =Verkettenwenn(B11:C27;B2;1;2)
' Daten stehen im Bereich B11 bis B 27
' in Zelle B2 steht der Suchbegriff
' in Spalte B (=Suchspalte = 1. Spalte des Bereiches) stehen die Suchbegriffe
' in Spalte C (=Ergebnisspalte = 2. Spalte des Bereiches) stehen die Begriffe, die zusammengefasst werden sollen

Dim varBereich As Variant
Dim z As Long

varBereich = Bereich

For z = LBound(varBereich, 1) To UBound(varBereich, 1)
If varBereich(z, Suchspalte) = Suchbegriff Then Verkettenwenn = Verkettenwenn & varBereich(z, Ergebnisspalte) & "; "
Next z

'letztes Semikolon abschneiden
Verkettenwenn = Left(Verkettenwenn, Len(Verkettenwenn) - 2)

End Function

Dann solltest du dein gewünschtes Ergebnis haben.

Gruß

M.O.
0 Punkte
Beantwortet von
Perfekt - 1000 Dank!!!
...