Office - Word, Excel und Co. 9.744 Themen, 41.408 Beiträge

IP-Adressen in Excel Tabelle sortieren

(Anonym) / 3 Antworten / Baumansicht Nickles

Moin,
wie kann ich in einem Excel Dokument IP-Adressen (z.B. 192.1.1.23 u. 192.1.1.113) so sortieren, das sie auch wirklich "richtig" sortiert werden. Wenn ich z.B. die oben genannten IP-Adressen sortiere, steht danach die 113 vor der 23. Muß ich dafür die Felder besonders formatieren, oder wie gehts?
Danke,
Simon

bei Antwort benachrichtigen
neanderix (Anonym) „IP-Adressen in Excel Tabelle sortieren“
Optionen

Du musst dazu nur alle Teile der Adressen dreistellig eingeben, also z.B. 192.001.001.023 uns 192.001.001.113 statt 192.1.1.23 und192.1.1.113.
Ein Benutzerdefiniertes Format hilft dir IMHO nicht, da die Ziffern nicht als Zahlen interpretiert werden, sondern als Text -- und Text wird nach ASCII / AN_SI-Codes sortiert...

Volker "neanderix"

Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen
gorny (Anonym) (Anonym) „IP-Adressen in Excel Tabelle sortieren“
Optionen

denke excel will die ip-nummern wohl als zahlen erkennen und macht dann fehler, weil eine zahl nicht . . . haben kann.
alternativ könntest du versuchen die zellen als nur text zu formartieren ob du jedoch dann die richtige sortierung hast weis ich auch nicht genau da ja auch dann strikt nach muster abgearbeitet wird.
(wie du genannt hast denn 1.1.2(3) ist nun mal größer als 1.1.1(13).
ich hab mir mal die mühe gemacht dein problem im excel zu lösen und habe folgende mamutlösung für dich erarbeitet (falls jemand was besseres [kürzerers] weis, kann auch er mir evtl. Nachhilfe geben 1. Formatiere Spalte A als "nur Text"
2. geben in spalte A alle deine IPs ein
3. füge folgende formel in die zelle B1 und kopiere diese soweit du deine ips hast nach unten. (net verzweifeln und keinen tipfehler machen)
=(TEIL(A1;1;(FINDEN(".";A1;1)-1))*1000000000)+(TEIL(A1;FINDEN(".";A1;1)+1;FINDEN(".";A1;FINDEN(".";A1;1)+1)-FINDEN(".";A1;1)-1)*1000000)+(TEIL(A1;FINDEN(".";A1;FINDEN(".";A1;1)+1)+1;FINDEN(".";A1;FINDEN(".";A1;FINDEN(".";A1;1)+1)+1)-FINDEN(".";A1;FINDEN(".";A1;1)+1)-1)*1000)+TEIL(A1;FINDEN(".";A1;FINDEN(".";A1;FINDEN(".";A1;1)+1)+1)+1;LÄNGE(A1)-FINDEN(".";A1;FINDEN(".";A1;FINDEN(".";A1;1)+1)+1)).

4. jetzt kannst du mit selektion von spalte A:B deine daten sortieren
(nimm als sortierung die spalte B und als ergebnis kannst du dann spalte A anschauen.

mfg gorny michael

bei Antwort benachrichtigen
neanderix gorny (Anonym) „denke excel will die ip-nummern wohl als zahlen erkennen und macht dann fehler,...“
Optionen

>denkee excel will die ip-nummern wohl als zahlen erkennen und macht dann fehler, weil eine zahl nicht . . . haben kann.
> alternativ könntest du versuchen die zellen als nur text zu formartieren

Du denkst falsch. Excel interpretiert die Zahl in diesem Fall bereits als Text, weil eine Zahl genau einen Dezimalpunkt haben kann, nicht mehrere.
Da nun aber die Zahlen als Text interpretiert werden, werden die IP-Adressen in der Reihenfolge der ASCII-Werte der einzelnen Ziffern(!!) sortiert - und das fuehrt halt zur falschen Sortierung.

Die einfachste Abhilfe besteht, wie oben gepostet, darin, alle Teile der IP-Adressen 3-stellig zu notieren, also nicht 194.1.200.200, sondern 194.001.200.200.
Jetzt sortiert Excel richtig.

Volker "neanderix"

Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen