Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel alphabetisch ordnen über mehrere Spalten

Excel alphabetisch ordnen über mehrere Spalten
04.03.2015 12:27:05
fape
Hallo,
folgendes Problem an dem ich scheitere:
Ich habe mehrere Spalten mit alphabetisch geordneten Werten bzw Wörtern. Jetzt möchte ich meine Tabelle so formatieren, dass je Zeile nur noch der nächstgrößere Wert angezeigt wird und die anderen Zellen der Zeile blank werden. Jeder Wert kommt pro Spalte maximal einmal vor. Die alphabetische Ordnung soll dabei nicht je Zeile sondern über die geseamte Tabelle verlaufen.
Hier etwas anschaulicher:
AKTUELL:
A B A
D C B
E F D
F G F
SO HÄTTE ICH ES GERNE: (O stehen für leere Zellen)
A O A
O B B
O C O
D O D
E O O
F F F
O G O
Vielen Dank für die Hilfe :-)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel alphabetisch ordnen über mehrere Spalten
04.03.2015 13:26:14
fcs
Hallo fape,
so eien Verschiebung geht meines Wissens nur per Makro.
Nachfolgend mal ein Versuch.
Teste das Makro in einer Kopie deines Tabellenblatts.
Gruß
Franz 'Makro in einem allgemeinen Modul der Datei Sub SortierenSpecial() Dim wks As Worksheet Dim Zeile As Long, Spalte As Long, StatusCalc As Long Dim arrWerte() As String, varWert As String Const SpalteMin = 1, SpalteMax = 3 'Nrn der Spalten ggf. anpassen 1 = A, 3 = C ReDim arrWerte(SpalteMin To SpalteMax) Zeile = 1 'Startzeile - ggf. anpassen Set wks = ActiveSheet With Application .ScreenUpdating = False .EnableEvents = False StatusCalc = .Calculation .Calculation = xlCalculationManual End With With wks Do While Application.WorksheetFunction.CountA(.Range(.Cells(Zeile, SpalteMin), _ .Cells(Zeile, SpalteMax))) > 0 varWert = Chr(255) & Chr(255) 'großen Text bezgl. Sortierung setzen 'Minimum-Text in Zeile ermitteln For Spalte = SpalteMin To SpalteMax arrWerte(Spalte) = .Cells(Zeile, Spalte).Text If varWert > arrWerte(Spalte) Then varWert = arrWerte(Spalte) Next If varWert = "" Then Exit Do 'Alle Zellen mit Text > Minimium-Text 1 Zeile nach unten verschieben For Spalte = SpalteMin To SpalteMax If arrWerte(Spalte) > varWert Then .Cells(Zeile, Spalte).Insert shift:=xlShiftDown End If Next Zeile = Zeile + 1 Loop End With With Application .ScreenUpdating = True .EnableEvents = True .Calculation = StatusCalc End With End Sub

Anzeige
AW: Excel alphabetisch ordnen über mehrere Spalten
04.03.2015 13:56:50
Daniel
Hi
führe folgende Schritte aus:
1. kopiere die Werte aus allen Spalten in einer neuen Spalte (bspw Spalte E) untereinander.
2. Sortiere dieses Spalte aufsteigend
3. Entferne die Doppelten Werte in dieser Spalte (Daten - Datentools - Duplikate entfernen)
4. füge in die Zelle F1 folgende Formel ein: =WENN(ZÄHLENWENN(A:A;$E1)=0;"";$E1)
ziehe diese Formel soweit nach unten und nach rechts wie benötigt
5. kopiere die neuen Spalten und füge sie als Wert ein,
6. lösche die alten Spalten und Spalte D
wenns ohne HIlfsspalten gehen soll so:
1. kopiere unter jede Spalte die Werte aus den anderen Spalten. Färbe dabei die hinzugefügten Werte mit einer Hintergrundfarbe
2. sortiere jede Spalte einzeln aufsteigend
3. filtere jede Spalte einzieln nach der Hintergrundfarbe und lösche in den gefärbten Zellen den Inhalt
4. filtere in jeder Spalte nach "leer" und lösche diese Zeilen (alle Zeilen die in jeder Spalte leer sind
5. entferene die Hintergrundfarbe
Gruß Daniel

Anzeige
AW: Excel alphabetisch ordnen über mehrere Spalten
04.03.2015 15:21:17
fape
Super! Vielen vielen Dank! Hat geklappt :-)
Viele Grüße
Fabian

mit nur einer ! (Basis-)Formel realisierbar ...
04.03.2015 15:31:12
neopa
Hallo,
... wobei ich lediglich eine leere Zeile über der sortierten Ausgabe voraussetze.
Formel E2 nach unten und rechts kopieren:
 ABCDEFG
1FCD    
2DFB   A
3XZI  BB
4EGZ  C 
5 B  D D
6  K E  
7L   FFF
8  A  G 
9    H  
10  F   I
11H     K
12    L  
13    X  
14     ZZ
15       

Formeln der Tabelle
ZelleFormel
E2{=WENNFEHLER(INDEX(A:A;VERGLEICH(KGRÖSSTE(ZÄHLENWENN($A$1:$C$99;">="&$A$1:$C$99); SUMME(N(LÄNGE($E$1:$G1)>0))+1); ZÄHLENWENN($A$1:$C$99;">="&A$1:A$99); ))&"";"")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Derartig könnten auch mehr Spalten so spez. ausgewertet werden. Diese müssen natürlich dann nur in den Bereich der Formel mit aufgenommen werden.
Gruß Werner
.. , - ...

Anzeige
geht natürlich auch mit Überschriften in E1:G1 ...
05.03.2015 17:18:19
neopa
... dann muss die Formel nur ein klein wenig modifiziert werden. So:
 E
2 

Formeln der Tabelle
ZelleFormel
E2{=WENNFEHLER(INDEX(A:A;VERGLEICH(KGRÖSSTE(ZÄHLENWENN($A$1:$C$99;">="&$A$1:$C$99); SUMME(N(LÄNGE($E$1:$G1)>0))-2); ZÄHLENWENN($A$1:$C$99;">="&A$1:A$99); ))&"";"")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige

342 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige