Ich habe ein Dokument mit 2 Tabellen (hier der Einfachheit auf ein Sheet kopiert):
Tabelle 1 zeigt verschiedene Arbeitsgruppen und deren Mitglieder.
In Tabelle 2 sind alle Mitglieder einzeln aufgelistet. Es sollen aus der Tabelle 1 ausgelesen werden, in welchen Arbeitsgruppen die jeweiligen Personen sind (mehrfach)
Ich find hierfür leider weder einen Ansatz mit SUCHEN / FINDEN, SVERWEIS /WVERWEIS, .....
Wäre sehr dankbar um eine Hilfestellung. Das Beispieldokument ist im Anhang.
Moin Matthias
Mit der richtigen Struktur ist es pupseinfach.
Arbeitsblatt mit dem Namen 'Tabelle2' |
| A | B | C | D | E | F | G | H | I | J | K | L | M |
1 | Arbeitsgruppe | Mitglied | | Arbeitsgruppe | | | | | | Mitglied | | | |
2 | Empfang | Meier | | Empfang | Meier | Müller | Schmid | | | Meier | Empfang | Finanzen | |
3 | Empfang | Müller | | Büro | Schmid | Braun | | | | Müller | Empfang | Finanzen | |
4 | Empfang | Schmid | | Personal | Huber | Fischer | Braun | | | Schmid | Empfang | Büro | Finanzen |
5 | Büro | Schmid | | Finanzen | Schmid | Müller | Meier | Fischer | | Braun | Büro | Personal | |
6 | Büro | Braun | | | | | | | | Huber | Personal | | |
7 | Personal | Huber | | | | | | | | Fischer | Personal | Finanzen | |
8 | Personal | Fischer | | | | | | | | | | | |
9 | Personal | Braun | | | | | | | | | | | |
10 | Finanzen | Schmid | | | | | | | | | | | |
11 | Finanzen | Müller | | | | | | | | | | | |
12 | Finanzen | Meier | | | | | | | | | | | |
13 | Finanzen | Fischer | | | | | | | | | | | |
Zelle | Formel |
D2 | =EINDEUTIG(A2:A13) |
E2 | =MTRANS(FILTER(B2:B13;A2:A13=D2)) |
J2 | =EINDEUTIG(B2:B13) |
K2 | =MTRANS(FILTER(A2:A13;B2:B13=J2)) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
Cool, so schnell habe ich keine Antwort erwartet... Ich bin grad am verstehen ;)
Ich habe nur die beiden Tabellen 1 und 2 und nicht noch die linke Tabelle mit der aufgesplitteten Liste.
Kannst du mir das auch mit meinem Anhang zeigen?
Auf jeden Fall chon einmal ein grosses Merci!! :19:
Matthias
Du musst deine Kreuztabelle in die Datensatzliste umwandeln.
Entweder manuell oder (halb-)automatisch. Methoden findest du unter dem Stichwort: entpivotieren.
Bin neu in diesem Forum. Darf man dieselbe Frage nicht in zwei Foren stellen? Dann bitte ich um Verzeihung.
Hab ich grad probiert, klappt einwandfrei, aber die Datensatzliste berechnet sich leider nicht neu, wenn ich in der Kreuztabelle einen Eintrag ändere..... ;(
Um es klar zu sagen: Die Kreuztabelle gehört auf den Müll.
Du arbeitest nur mit der Datenatzliste.
Hallo Matthias
Probier mal diese Makro auf Deine Datei Auswertung:
Code:
Sub Aufteilung()
Dim n As Object, d
Set n = CreateObject("Scripting.Dictionary")
Dim z As Long, c As Long
With Range("A2")
d = Range(.End(xlDown), .End(xlToRight))
End With
For z = 2 To UBound(d, 2)
For c = 2 To UBound(d, 1)
If d(z, c) <> "" Then
If Not n.exists(d(z, c)) Then n.Add d(z, c), CreateObject("Scripting.Dictionary")
n(d(z, c)).Add d(z, 1), z
End If
Next c
Next z
With Range("G2")
For z = 0 To n.Count - 1
.Offset(z).Value = n.keys()(z)
.Offset(z, 1).Resize(, n.items()(z).Count) = n.items()(z).keys
Next z
End With
End Sub
Ab Zelle G2 wird die neue Aufstellung eingetragen.
Makro einbauen und zum Laufen bringen.
- Makrocode (s.o.) kopieren
- Rechtsklick auf Tabellenreiter, "Code anzeigen"
- Im Fenster "Projekt" Doppelklick auf "Tabelle1"
- in das rechte Fenster o.g. Code reinkopieren
- Drücke F5
- Schau Dir das Ergebnis in Deinen Tabellen an
Teste es bitte. Raoul