Mehrfache Spaltensortierung, ggf. Makro?
#1
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:


   


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):

   


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:

   

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!
Top
#2
Hallo 
Bitte lade doch statt den Bildern die Beispieldatei hoch!

bzw. würde ich dir zumindest den filter Empfehlen oder einen Pivottable
[-] Folgende(r) 1 Nutzer sagt Danke an Frogger1986 für diesen Beitrag:
  • Firena
Top
#3
Hallo,

vielen Dank! Das Beispiel ist angefügt.


Angehängte Dateien
.xlsx   Aktuelle Sortierung.xlsx (Größe: 8,71 KB / Downloads: 11)
Top
#4
hier einige Beispiele
[-] Folgende(r) 1 Nutzer sagt Danke an Frogger1986 für diesen Beitrag:
  • Firena
Top
#5
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/
Top
#6
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.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#7
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
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Firena
Top
#8
Hallo,

das im 2. Bild gezeigte Wunschergebnis lässt sich jeweils nur in einer Spalte erreichen. Wozu soll das gut sein?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#9
Hier das ganze auch noch mit Makro
[-] Folgende(r) 1 Nutzer sagt Danke an Frogger1986 für diesen Beitrag:
  • Firena
Top
#10
Vielen vielen herzlichen Dank an alle! Ich schaue es mir mal an.

Schönen Sonntag noch, ich bin euch wirklich dankbar.
Top


Gehe zu:


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