902 Aufrufe
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
von
.. .hier nochmal der Link zum Beispiel:

http://www.bilder-upload.eu/thumb/98fbb4-1479206425.png
0 Punkte
von m-o Profi (22.9k 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
von
Hi M.O.

wow, klasse - funktioniert! vielen Dank!!!!!
0 Punkte
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
von m-o Profi (22.9k 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
von
Perfekt - 1000 Dank!!!

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...