1.3k Aufrufe
Gefragt in Tabellenkalkulation von
Ich habe folgende Liste welche ich nach den Staaten sortieren sollte.
Abbeville (AL)
Aberdeen (MS)
Aberdeen (SD)
Abilene (TX)
Acworth (GA)
Ada (OK)
Akron (OH)
Alamosa (CO)
Albany (KY)
Albany (OR)
Albemarle (NC)
Albion (MI)
Alexander City (AL)
Alexandria (MN)
Alexandria (VA)
Alice (TX)
Allegheny Plateau (NY)
Alpena (MI)
Alpine (TX)
Alta (ID)
und weiter tausend Orte.

Wie kann ich dies machen

4 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo,

das geht nur, wenn Du die Zellinhalte in zwei Spalten trennst.

Das geht ganz einfach mit der Funktion "Text in Spalten"

Gruß
Rainer
0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Ich würde mir eine extra Spalte mit den Staaten machen.
Mit der Funktion
=rechts(text;anzahl)

und nach unten Ausziehen geht das ganz einfach. Ersetze text durch einen Bezug auf die Zelle mit dem Ort und anzahl durch 4, dann erhältst du im Ergebnis die Klammer mit dem Staat.
Wenn die Spalte die Anzeige stört, kannst du sie ja nach dem sortieren ausblenden.

Gruß Flupo
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

ich gehe von unterschiedlich grossen Länderkennzeichen aus, daher

=TEIL(A1;SUCHEN("(";A1;1)+1;LÄNGE(A1)-(SUCHEN("(";A1;1)+1))

für Namen in A1 und anschleissend nach unten ziehen.

in der Hilfsspalte steht dann nur das Länderkennzeichen, sortieren nach der Spalte

Gruß

Hekmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all :-)

fuer groessere datenmengen wuerde ich ein makro vorziehen,da ja nicht so oft sortiert wird ^^

gruss nighty

spalte b ist zur zeit die hilfsspalte,die ausgeblendet sein sollte

Sub Sortieren()
Dim Lzeile As Long
Lzeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range("A1:A" & Lzeile).Copy Range("B1:B" & Lzeile)
Range("B1:B" & Lzeile).Replace What:="*(", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
Columns("A:B").Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, Orientation:=xlTopToBottom
Range("B1:B" & Lzeile).Clear
End Sub
...