Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Elemente in tabelle Suchen und verketten

Forumthread: Elemente in tabelle Suchen und verketten

Elemente in tabelle Suchen und verketten
07.02.2007 08:43:33
Oliver
Hallo, liebe EXCEL Expert(inn)en,
hab nur Grundkenntnisse in EXCEL und folgendes Nüsslein zu knacken:
Meine Tabelle sieht von der Form so aus:
Alexandra: Fach 1 Fach 3 Fach 5 Fach 6
Brigitte: Fach 3 Fach 4 Fach 5
Claudia: Fach 1 Fach 2 Fach 3 Fach 7
Doris: Fach 2 Fach 3
(d.h. in Spalte A stehen die Namen, in den Spalten B, C, D und E die Fächer, die belegt wurden)
nun möchte ich (auf einem anderen Tabellenblatt) auf diese Daten zugreifen und den Inhalt der Fächer ermitteln, d.h. EXCEL soll schauen, wer alles in Fach 1, 2, 3... drin ist.
Rauskommen soll also was in der Form:
Fach 1 Alexandra, Claudia
Fach 2 Claudia, Doris
Fach 3 Alexandra, Brigitte, Claudia, Doris
Fach 4 Brigitte
Fach 5 Alexandra, Brigitte
...
(Die Namen sollen dabei jeweils in einem Feld stehen - Spalte A enthält die Fächerliste, Spalte B die Namen der Teilnehmerinnen, d.h. Feld B1 soll den Text "Alexandra, Claudia" enthalten)
Ich hab ein wenig mit den Funktionen "Verketten" und "Wenn" rumgespielt, aber nicht viel weitergekommen. Kann zwar einzelne Felder abfragen, aber die ganze Tabelle... oh, da bin ich überfragt.
Kann mir jemand helfen?
Wär total lieb :)
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Elemente in tabelle Suchen und verketten
07.02.2007 10:04:00
Ramses
Hallo
Am einfachsten
Extras - Pivottabelle und Charbericht
Und im dritten Schritt des Assistenten den "Layout" Button drücken und deine Tabelle zusammenstellen.
Gruss Rainer
AW: Elemente in tabelle Suchen und verketten
07.02.2007 10:04:24
fcs
Hallo Oliver,
eine Lösung mit Excel-Standard-Funktionen ist mir auch nicht eingefallen, da Excel in Matrix-Funktionen Texte nicht addieren/verketten kann. Deshalb eine Lösung mit einer benutzerdefinierten Funktion.
Kopiere den Code der Function im VBA-Editor in ein Modul deiner Datei. Anschliessend kannst du diese Funktion wie jede andere Excel-Funktion nutzen.
Gruß
Franz
Beispiel:
Daten in Tabelle 1:

Name       Fach 	Fach	Fach	Fach
Alexandra: Fach 1	Fach 3	Fach 5	Fach 6
Brigitte:  Fach 3	Fach 4	Fach 5
Claudia:   Fach 1	Fach 2	Fach 3	Fach 7
Doris:     Fach 2	Fach 3

Daten und Formeln in Tabelle 2:

Fach	Teilnehmer
Fach 1	Alexandra, Claudia
Fach 2	Claudia, Doris
Fach 3	Alexandra, Brigitte, Claudia, Doris
Fach 4	Brigitte
Fach 5	Alexandra, Brigitte
Fach 6	Alexandra
Fach 7	Claudia
Formeln in Spalte B:
=Fachbelegung(A2;Tabelle1!$A$2:$E$5)
=Fachbelegung(A3;Tabelle1!$A$2:$E$5)
=Fachbelegung(A4;Tabelle1!$A$2:$E$5)
=Fachbelegung(A5;Tabelle1!$A$2:$E$5)
=Fachbelegung(A6;Tabelle1!$A$2:$E$5)
=Fachbelegung(A7;Tabelle1!$A$2:$E$5)
=Fachbelegung(A8;Tabelle1!$A$2:$E$5)
Function Fachbelegung(Fach As String, Datenbereich As Range) As String
Dim Zeile As Integer, Spalte As Integer
'Datenbereich beinhaltet in der linken (1.) Spalte die Namen, _
in den Spalten rechts davon die Fächer
For Zeile = 1 To Datenbereich.Rows.Count
'Doppelpunkt beim Namen abtrennen
Name = Left(Datenbereich(Zeile, 1), Len(Datenbereich(Zeile, 1)) - 1)
For Spalte = 2 To Datenbereich.Columns.Count
If Datenbereich(Zeile, Spalte) = Fach Then
If Fachbelegung = "" Then
Fachbelegung = Name
Else
Fachbelegung = Fachbelegung & ", " & Name
End If
Exit For
End If
Next Spalte
Next Zeile
End Function

Anzeige
AW: Elemente in tabelle Suchen und verketten
07.02.2007 11:32:38
Oliver
Vielen herzlichen Dank für die Mühe, die Du Dir gemacht hast!
Echt gigantisch!!!
Hab den Code schon in meine Tabelle eingebaut und bin sehr froh, dass ich für dieses Problem endlich eine Lösung habe
Viele Grüße
Oliver
;
Anzeige
Anzeige

Infobox / Tutorial

Elemente in Tabelle suchen und verketten


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass deine Tabelle die entsprechenden Namen und Fächer enthält. Deine Daten sollten in etwa so aussehen:

    Name       Fach  Fach    Fach    Fach
    Alexandra: Fach 1    Fach 3  Fach 5  Fach 6
    Brigitte:  Fach 3    Fach 4  Fach 5
    Claudia:   Fach 1    Fach 2  Fach 3  Fach 7
    Doris:     Fach 2    Fach 3
  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul erstellen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Code einfügen: Kopiere den folgenden Code in das Modul:

    Function Fachbelegung(Fach As String, Datenbereich As Range) As String
       Dim Zeile As Integer, Spalte As Integer
       For Zeile = 1 To Datenbereich.Rows.Count
           Name = Left(Datenbereich(Zeile, 1), Len(Datenbereich(Zeile, 1)) - 1)
           For Spalte = 2 To Datenbereich.Columns.Count
               If Datenbereich(Zeile, Spalte) = Fach Then
                   If Fachbelegung = "" Then
                       Fachbelegung = Name
                   Else
                       Fachbelegung = Fachbelegung & ", " & Name
                   End If
                   Exit For
               End If
           Next Spalte
       Next Zeile
    End Function
  5. Formel anwenden: Gehe zurück zu deinem Tabellenblatt und verwende die Funktion Fachbelegung in den Zellen der Spalte B, um die Teilnehmer für jedes Fach zu ermitteln.

    Beispiel für die Zelle B1:

    =Fachbelegung(A2;Tabelle1!$A$2:$E$5)
  6. Zellen nach unten ziehen: Ziehe die Formel nach unten, um alle Fächer zu erfassen.


Häufige Fehler und Lösungen

  • Fehler: "Funktion nicht gefunden": Stelle sicher, dass du die Funktion im richtigen Modul und in der richtigen Datei gespeichert hast.
  • Fehler: Leere Zellen: Überprüfe, ob dein Datenbereich korrekt definiert ist und keine leeren Zellen enthält.
  • Fehler: Unerwartete Ergebnisse: Vergewissere dich, dass die Namen in der ersten Spalte der Tabelle richtig geschrieben sind und dass die Fächer korrekt zugeordnet sind.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die Pivottabelle nutzen, um die Daten zu aggregieren:

  1. Markiere deine Daten und gehe zu Einfügen > Pivottabelle.
  2. Wähle die Felder aus, die du analysieren möchtest.
  3. Ziehe die Namen in die Werte und die Fächer in die Zeilen.

Praktische Beispiele

Hier ist ein Beispiel, wie du die Daten auf dem zweiten Tabellenblatt anordnen kannst:

Fach Teilnehmer
Fach 1 Alexandra, Claudia
Fach 2 Claudia, Doris
Fach 3 Alexandra, Brigitte, Claudia, Doris
Fach 4 Brigitte
Fach 5 Alexandra, Brigitte
Fach 6 Alexandra
Fach 7 Claudia

Verwende die oben beschriebene Funktion, um die Teilnehmer für jedes Fach zu ermitteln.


Tipps für Profis

  • Nutze Datenvalidierung, um sicherzustellen, dass nur gültige Fächer eingegeben werden.
  • Füge eine Fehlerbehandlung in deinen VBA-Code ein, um unerwartete Eingaben abzufangen.
  • Experimentiere mit Array-Formeln für komplexere Anforderungen.

FAQ: Häufige Fragen

1. Kann ich die Funktion auch in Excel Online verwenden?
Nein, benutzerdefinierte VBA-Funktionen sind nicht in Excel Online verfügbar.

2. Wie kann ich die Funktion anpassen, um andere Daten auszulesen?
Du kannst den Code der Funktion anpassen, indem du die Bedingungen und die Rückgabewerte modifizierst. Achte darauf, den Datenbereich entsprechend anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige