Vertikale Zellinhalte in einer Zelle zusammenfasse
Betrifft: Vertikale Zellinhalte in einer Zelle zusammenfasse
von: Werner
Geschrieben am: 22.11.2014 11:07:54
Hallo Excel-Freunde
ich habe eine Tabelle - in Spalte A die Firmennamen - in Spalte B Namen der Mitarbeiter.
Jede Firma kann natürlich mehrere Mitarbeiter haben.
SpalteA SpalteB
Firma1 Name1
Firma1 Name2
Firma1 Name3
Firma1 Name4
Firma2 Name5
Firma2 Name6
usw
Ich möchte jetzt in einem separaten Bereich
(per Formel ?!) alle Namen der jeweiligen Firma in einer Zelle zusammenfassen.
Ergebnis
SpalteA SpalteB
Firma1 Name1;Name2;Name3;Name4
Firma2 Name5;Name6
Firma2 ....
Ist so etwas möglich ?
Freu mich auf einen Tip
Besten Gruss
Werner
Betrifft: nicht mit einer, aber mit drei Formeln möglich ..:
von: neopa C (paneo)
Geschrieben am: 22.11.2014 16:40:35
Hallo Namensvetter,
... vorausgesetzt, Deine Datentabelle ist bzgl. Firmen sortiert (mit einer UDF von Luc reichen sogar 2 Formeln, aber bedarf halt der UDF)
Formel in A21 (mit Zellformat:0;;) und B21 nach unten kopieren) und F21 nach rechts und unten:
| A | B | C | D | E | F | G | H | I |
1 | Firma | Namen | | | | | | | |
2 | Firma1 | Name1 | | | | | | | |
3 | Firma1 | Name2 | | | | | | | |
4 | Firma1 | Name3 | | | | | | | |
5 | Firma1 | Name4 | | | | | | | |
6 | Firma2 | Name5 | | | | | | | |
7 | Firma2 | Name6 | | | | | | | |
8 | Firma2 | Name7 | | | | | | | |
9 | Firma3 | Name8 | | | | | | | |
10 | Firma4 | Name9 | | | | | | | |
11 | Firma4 | Name10 | | | | | | | |
12 | Firma4 | Name11 | | | | | | | |
13 | | | | | | | | | |
14 | | | | | | | | | |
15 | | | | | | | | | |
16 | | | | | | | | | |
17 | | | | | | | | | |
18 | | | | | | | | | |
19 | | | | | | | | | |
20 | Firma | Namen | | | | | | | |
21 | Firma1 | Name1; Name2; Name3; Name4 | | | | Name1 | Name1; Name2 | Name1; Name2; Name3 | Name1; Name2; Name3; Name4 |
22 | Firma2 | Name5; Name6; Name7 | | | | Name5 | Name5; Name6 | Name5; Name6; Name7 | |
23 | Firma3 | Name8 | | | | Name8 | | | |
24 | Firma4 | Name9; Name10; Name11 | | | | Name9 | Name9; Name10 | Name9; Name10; Name11 | |
25 | | | | | | | | | |
Formeln der Tabelle |
Zelle | Formel | A21 | =VERWEIS(A20;A$1:A$18;A$2:A$19) | B21 | =WENN(A21=0;"";VERWEIS(9;1/(F21:ZZ21<>""); F21:ZZ21)) | F21 | =WENN(SPALTE(A1)>ZÄHLENWENN($A$1:$A$19;$A21); "";E21&WENN(SPALTE(A1)>1;"; ";"")&INDEX($B:$B;VERGLEICH($A21;$A:$A;)+SPALTE(A1)-1)) |
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Betrifft: cool - THX - welche UDF von Luc:-? meinst Du
von: Werner
Geschrieben am: 22.11.2014 19:38:48
Hi Werner,
coole Lösung :)
.. welche UDF von Luc:-? meinst Du ?
Besten Abendgruss
Werner
Betrifft: Irgendeine passende sicher, ...
von: Luc:-?
Geschrieben am: 22.11.2014 22:38:26
…Werner,
zB diese hier:
D2[:D5]:=INDEX(Splitt(VJoin(A$2:A$12;";";1);";");ZEILE(A1))
E2[:E5]:{=VJoin(WENN(A$2:A$12=D2;B$2:B$12;"");"; ";1)}
Function Splitt(Bezug, Optional ByVal TrennZ): Splitt = Split(Bezug, TrennZ): End Function
Rem Verbinden aller Elemente eines beliebigen Vektors
' Vs1.1 -LSr -cd:20130904 -1pub:20130905herber -lupd:20141122t
Function VJoin(Bezug, Optional ByVal BindeZ As String = " ", Optional ByVal NurUngl As Boolean)
Dim xBez
On Error Resume Next
With WorksheetFunction
If TypeName(Bezug) = "Range" Then Bezug = .Transpose(.Transpose(Bezug))
If IsError(LBound(Bezug)) Then
VJoin = Bezug
ElseIf NurUngl Then
For Each xBez In Bezug
If VJoin = "" Then
VJoin = xBez
ElseIf xBez <> "" And InStr(VJoin, xBez) = 0 Then
VJoin = VJoin & BindeZ & xBez
End If
Next xBez
ElseIf IsError(LBound(Bezug, 2)) Then
VJoin = Join(Bezug, BindeZ)
Else: Bezug = .Transpose(Bezug)
If IsError(LBound(Bezug, 2)) Then
VJoin = Join(Bezug, BindeZ)
Else: VJoin = CVErr(xlErrRef)
End If
End If
End With
End Function
Gruß, Luc :-?
Beiträge aus den Excel-Beispielen zum Thema "Vertikale Zellinhalte in einer Zelle zusammenfasse"