Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wie auswerten?
#1
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.


Angehängte Dateien
.xlsx   Auswertung.xlsx (Größe: 10,83 KB / Downloads: 12)
Antworten Top
#2
Moin Matthias

Mit der richtigen Struktur ist es pupseinfach.
Arbeitsblatt mit dem Namen 'Tabelle2'
ABCDEFGHIJKLM
1ArbeitsgruppeMitgliedArbeitsgruppeMitglied
2EmpfangMeierEmpfangMeierMüllerSchmidMeierEmpfangFinanzen
3EmpfangMüllerBüroSchmidBraunMüllerEmpfangFinanzen
4EmpfangSchmidPersonalHuberFischerBraunSchmidEmpfangBüroFinanzen
5BüroSchmidFinanzenSchmidMüllerMeierFischerBraunBüroPersonal
6BüroBraunHuberPersonal
7PersonalHuberFischerPersonalFinanzen
8PersonalFischer
9PersonalBraun
10FinanzenSchmid
11FinanzenMüller
12FinanzenMeier
13FinanzenFischer

ZelleFormel
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
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
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
Antworten Top
#4
Du musst deine Kreuztabelle in die Datensatzliste umwandeln.
Entweder manuell oder (halb-)automatisch. Methoden findest du unter dem Stichwort: entpivotieren.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#5
Crosspost

https://www.ms-office-forum.net/forum/sh...p?t=369723

Meine Formel-Lösung habe ich dort wieder gelöscht
Gruss Ralf
Antworten Top
#6
Bin neu in diesem Forum. Darf man dieselbe Frage nicht in zwei Foren stellen? Dann bitte ich um Verzeihung.
Antworten Top
#7
(27.08.2020, 20:32)matthias wehrli schrieb: Bin neu in diesem Forum. Darf man dieselbe Frage nicht in zwei Foren stellen? Dann bitte ich um Verzeihung.

Standard-Link zum Thema: http://www.excel-ist-sexy.de/crossposting/
Gruss Ralf
[-] Folgende(r) 1 Nutzer sagt Danke an scorefun für diesen Beitrag:
  • matthias wehrli
Antworten Top
#8
Hab ich grad probiert, klappt einwandfrei, aber die Datensatzliste berechnet sich leider nicht neu, wenn ich in der Kreuztabelle einen Eintrag ändere..... ;(
Antworten Top
#9
Um es klar zu sagen: Die Kreuztabelle gehört auf den Müll.
Du arbeitest nur mit der Datenatzliste.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#10
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste