Clever-Excel-Forum

Normale Version: Mehrfache Spaltensortierung, ggf. Makro?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich würde mich sehr über einen Rat freuen. Ich erhalte für eine Statistik regelmäßig eine Exceltabelle mit einer großen Anzahl an Spalten. In Spalte A ist eine Liste an Namen. Ab Spalte B sind Tätigkeiten beschrieben und für jede Person angegeben, wie oft diese durchgeführt wurde. Hat eine Person an einer Aktivität nicht teilgenommen, ist das Feld leer. Das Ganze sieht so aus:


[attachment=23351]


Ich möchte die Tabelle nun so sortieren, dass mir unter jeder Spalte die Namen der Personen angezeigt werden, bei denen kein Eintrag erfolgt ist, wo also das jeweilige Feld zuvor leer war.
Aktuell muss ich jede Spalte manuell von A-Z sortieren. Dann sind die leeren Einträge automatisch unten (Beispiel Spalte B):

[attachment=23352]


Hier sieht man also, dass die Teilnahme an "x" NICHT erfolgt ist durch Marie, Carolin, Eva und Tina.
Ich lege also eine neue Tabelle an und schreibe die Namen hinein:

[attachment=23353]

Und das mache ich für alle Spalten. Bei dem kleinen Beispiel geht´s gut, aber ich habe fast 100 Spalten und das ist manuell nicht machbar.
Kann ich das irgendwie automatisieren? Der Name der Überschrift braucht sich natürlich nicht ändern, da kann weiterhin "Teilnahme an x/y/z" stehen bleiben, ich weiß ja dann was gemeint ist.

Vielen Dank, ich freue mich über jeden Tipp!
Hallo 
Bitte lade doch statt den Bildern die Beispieldatei hoch!

bzw. würde ich dir zumindest den filter Empfehlen oder einen Pivottable
Hallo,

vielen Dank! Das Beispiel ist angefügt.
hier einige Beispiele
Hallo Firena


Ich würde deine Tabelle in eine Intelligente Tabelle umwandeln, dann ist die Sortierung ein klacks.
Code:
http://www.excel-ist-sexy.de/intelligente-tabellenlisten-1/
Hallo Ivan,

auch mit einer intelligenten Tabelle (ist übrigens in Froggers Vorschlag bereits enthalten) ist Firenas Wunsch nach Automatismus nicht umsetzbar. Da hilft wohl am ehesten Froggers AGGREGAT()-Lösung. Eventuell findet ein VBA-Spezialist aber noch eine Makro-Lösung.
So:


Code:
Sub M_snb()
   With Sheet2.ListObjects(1)
        For j = 2 To .ListColumns.Count
          Sheet2.Cells(2, 6) = "=" & Cells(2, j).Address(0, 0) & "="""""
          Sheet2.Cells(1, 8 + 2 * j) = Sheet2.Cells(1).Value
          .Range.Columns(1).Resize(, j).AdvancedFilter 2, Sheet2.Range("F1:F2"), Sheet2.Cells(1, 8 + 2 * j)
        Next
   End With
End Sub
Hallo,

das im 2. Bild gezeigte Wunschergebnis lässt sich jeweils nur in einer Spalte erreichen. Wozu soll das gut sein?
Hier das ganze auch noch mit Makro
Vielen vielen herzlichen Dank an alle! Ich schaue es mir mal an.

Schönen Sonntag noch, ich bin euch wirklich dankbar.
Seiten: 1 2