Cuprins
Excel tratează un Adresa IP ca text. Sortare & Filtrare din Excel nu poate sorta corect adresele IP. Acest articol prezintă 6 modalități diferite de a sorta adresele IP în Excel. Următoarea imagine ilustrează modul în care funcționează majoritatea metodelor.
Descărcați caietul de practică
Puteți descărca caietul de practică folosind butonul de descărcare de mai jos.
Sortare adresă IP.xlsm6 moduri de a sorta adresa IP în Excel
Voi ilustra pentru dvs. 6 modalități simple de a sorta adresele IP în Excel. Vom folosi următorul set de date pentru a evidenția aceste metode. Așadar, haideți să ne apucăm de treabă!
1. Sortați adresa IP folosind formula Excel
În această metodă, vom folosi o formulă pentru a converti adresele IP, astfel încât acestea să poată fi sortate corect în Excel. Pentru a face acest lucru, urmați pașii de mai jos.
Pasul 1: La început, introduceți următoarea formulă în celulă C5 :
=TEXT(LEFT(B5,FIND(".",B5,1)-1),"000") & "." & TEXT(MID(B5,FIND( ".",B5,1)+1,FIND(".",B5,FIND(".",B5,1)+1)-FIND(".",B5,1)-1),"000") & "." & TEXT(MID(B5,FIND(".",B5,FIND(".",B5,1)+1)+1,FIND(".",B5, FIND(".",B5,FIND(".",B5,1)+1)+1)-FIND(".",B5,FIND(".",B5,1)+1)-1), "000") & "." & TEXT(RIGHT(B5,LEN(B5)-FIND(".",B5,FIND(".",B5,FIND( ".",B5,1)+1)+1)),"000"
) Această formulă găsește puncte(.) în celula B5 și umple fiecare număr de octeți cu zero/zero dacă vreunul dintre ei conține mai puțin de trei cifre.
Apoi, copiați această formulă în celulele de mai jos, folosind Mâner de umplere Acest lucru va completa toate adresele IP cu zerouri ca prima.
Pasul 2: După aceea, selectați toate adresele IP convertite.
Pasul 3: Apoi, sortați-le cu ajutorul funcției Sortare & Filtrare instrument din Acasă Puteți, de asemenea, să faceți clic dreapta pe celulele selectate și să le sortați de acolo.
Pasul 4: Extindeți selecția în timp ce sortați după cum urmează.
Acum, atât IP-urile convertite, cât și IP-urile originale sunt sortate după cum se arată mai jos.
O formulă alternativă:
Pasul 5: Folosind următoarea formulă se obține același rezultat.
=(VALUE(LEFT(B5,FIND(".",B5)-1))*10^9)+(VALUE(LEFT(RIGHT(B5,LEN(B5)-FIND(".",B5)),FIND(".",RIGHT(B5,LEN(B5)-FIND(".",B5)))-1))*10^6)+VALUE(LEFT(RIGHT(RIGHT(B5,LEN(B5)-FIND(".",B5)),LEN(RIGHT(B5,LEN(B5)-FIND(".",B5)))-FIND(".",RIGHT(B5,LEN(B5)-FIND(".",B5)))),FIND(".",RIGHT(RIGHT(B5,LEN(B5)-FIND(".",B5)),LEN(RIGHT(B5,LEN(B5)-FIND(".",B5)))-FIND(".",RIGHT(B5,LEN(B5)-FIND(".",B5)))))-1))*10^3+VALUE(RIGHT(RIGHT(RIGHT(B5,LEN(B5)-FIND(".",B5)),LEN(RIGHT(B5,LEN(B5)-FIND(".",B5)))-FIND(".",RIGHT(B5,LEN(B5)-FIND(".",B5)))),LEN(RIGHT(RIGHT(B5,LEN(B5)-FIND(".",B5)),LEN(RIGHT(B5,LEN(B5)-FIND(".",B5)))-FIND(".",RIGHT(B5,LEN(B5)-FIND(".",B5)))))-FIND(".",RIGHT(RIGHT(B5,LEN(B5)-FIND(".",B5)),LEN(RIGHT(B5,LEN(B5)-FIND(".",B5)))-FIND(".",RIGHT(B5,LEN(B5)-FIND(".",B5)))))))
Dar această formulă convertește IP-urile în numere zecimale, spre deosebire de completarea lor cu zerouri în formula anterioară. Puteți sorta IP-urile în același mod în care le-am sortat mai devreme.
Citește mai mult: Cum să sortați și să filtrați datele în Excel (un ghid complet)
2. Sortarea adresei IP după text în coloane Wizard
O modalitate alternativă de sortare a adreselor IP este utilizarea funcției Text în coloane Parcurgeți următorii pași pentru a putea face acest lucru.
Pasul 1: În primul rând, selectați toate IP-urile după cum urmează: păstrați 4 celule adiacente goale în dreapta.
Pasul 2: În continuare, faceți clic pe butonul Text în coloane din pictograma Date așa cum se arată în imaginea următoare.
Pasul 3: După aceea, marcați tipul de date ca fiind Delimitat și apoi faceți clic pe Următorul .
Pasul 4: Acum verificați Altele și introduceți un punct (.) în caseta de text, apoi apăsați butonul Următorul buton.
Pasul 5: După aceea, păstrați formatul general al datelor, apoi alegeți destinația în felul următor $C$5 Puteți face acest lucru făcând clic pe mica săgeată în sus din partea dreaptă a casetei câmpului de destinație. Apoi selectați celula C5 . și în cele din urmă a lovit Finisaj buton.
Dar dacă celulele adiacente nu sunt goale, trebuie să le înlocuiți dând clic pe OK .
Pasul 6: Acum IP-urile sunt împărțite în 4 octeți. Păstrați întreaga gamă de date selectată, așa cum se arată.
Pasul 7: Acum, trebuie să efectuați o sortare personalizată a acestora folosind funcția Sortare & Filtrare instrument.
Pasul 8: Mai întâi sortați-le după coloana C. Apoi adăugați noi niveluri și sortați-le după coloanele D, E și respectiv F. Acum, dacă apăsați butonul OK IP-urile vor fi sortate.
Dacă doriți, puteți ascunde sau șterge octeții.
Conținut conex: Cum să sortați datele după două coloane în Excel (5 moduri simple)
3. Aranjați adresa IP în tabelul Excel
Adresele IP pot fi sortate în tabelul Excel folosind o altă formulă. Urmați pașii de mai jos pentru a aplica această metodă.
Pasul 1: La început, creați un fișier Tabelul Excel utilizând setul de date, așa cum se arată mai jos.
Pasul 2: Faceți clic oriunde pe celulele "Convert IP" (Conversie IP). Apoi se aplică următoarea formulă în acest tabel :
=IF(0,"#####FIRSTOCTET#####","")&TEXT(LEFT([@IP],FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),1))-1),"000")&"."&IF(0,"#####SECONDOCTET#####","")&TEXT(MID([@IP],FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),1))+1,FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),2))-FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),1))),"000")&"."&IF(0,"#####THIRDOCTET#####","")&TEXT(MID([@IP],FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),2))+1,FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),3))-FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),2))),"000")&"."&IF(0,"#####FOURTHOCTET#####","")&TEXT(MID([@IP],FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),3))+1,IF(ISERROR(FIND("/",[@IP])),LEN([@IP]),FIND("/",[@IP])-1)-FIND(CHAR(134),SUBSTITUTE([@IP],".",CHAR(134),3))),"000")&IF(0,"#####CIDR#####","")&IF(ISERROR(FIND("/",[@IP])),"",RIGHT([@IP],LEN([@IP])-FIND("/",[@IP])+1))
Astfel, toate IP-urile vor fi completate cu zerouri, așa cum s-a făcut anterior.
Pasul 3: Acum, sortați IP-urile convertite așa cum ați făcut în metodele anterioare.
În cele din urmă, adresele IP sunt sortate.
Conținut conex: Cum să sortați lista derulantă în Excel (5 metode ușoare)
Lecturi similare:
- Sortare aleatorie în Excel (Formule + VBA)
- Cum să sortați după culoare în Excel (4 criterii)
- Sortarea a două coloane în Excel pentru a se potrivi (atât pentru potrivire exactă, cât și pentru potrivire parțială)
- Cum să adăugați butonul de sortare în Excel (7 metode)
- Sortare prin ordine crescătoare în Excel (3 metode ușoare)
4. Sortați adresa IP cu Flash Fill în Excel
Dacă primele trei octeți din setul de date sunt identice, atunci puteți utiliza Flash Fill din Excel pentru a le sorta. Poate că aceasta este cea mai rapidă și mai ușoară metodă de sortare a adreselor IP în Excel. Pașii pentru această metodă sunt discutați mai jos.
Pasul 1: Introduceți ultimele cifre de octet ale primului IP în celula C5 Acum, dacă faceți același lucru pentru al doilea IP, veți vedea o listă de culoare gri, după cum urmează. Aceștia sunt ultimii octeți ai IP-urilor.
Pasul 2: Acum apasă Introduceți și lista va fi completată. Selectați întreaga listă și sortați-le.
Nu uitați să extindeți selecția în timp ce sortați.
Acum, adresele IP sunt sortate după cum urmează.
Conținut conex: Cum să anulați sortarea în Excel (3 metode)
5. Sortarea adreselor IP utilizând funcția definită de utilizator (UDF)
Un alt mod uimitor de a sorta adresele IP este folosind Funcții definite de utilizator(UDF) Pentru a face acest lucru, urmați pașii de mai jos.
Pasul 1: La început, deschideți fereastra Microsoft Visual Basic pentru aplicații (VBA) Tastatura rapidă de la tastatură este ALT+F11 în Windows și Opt+F11 în Mac. De asemenea, puteți face acest lucru și din aplicația Dezvoltator Dacă nu este vizibilă, accesați Fișier >> Opțiuni >> Panglică personalizată >> Filele principale și bifați caseta de selectare pentru Dezvoltator și apoi apăsați OK .
Pasul 2: De la Introduceți fila, selectați Modul .
Pasul 3: Acum, copiați următorul cod și lipiți-l în câmpul gol.
Function SortIP(IP As String) As String Dim FirstDot As Integer Dim SecondDot As Integer Dim ThirdDot As Integer Dim FirstOctet As String Dim SecondOctet As String Dim ThirdOctet As String Dim FourthOctet As String FirstDot = InStr(1, IP, ".", vbTextCompare) SecondDot = InStr(FirstDot + 1, IP, ".", vbTextCompare) ThirdDot = InStr(SecondDot + 1, IP, ".", vbTextCompare) FirstOctet = Left(IP,FirstDot - 1) SecondOctet = Mid(IP, FirstDot + 1, SecondDot - FirstDot - 1) ThirdOctet = Mid(IP, SecondDot + 1, ThirdDot - SecondDot - 1) FourthOctet = Mid(IP, ThirdDot + 1, Len(IP)) SortIP = Right("000" & FirstOctet, 3) & "." SortIP = SortIP & Right("000" & SecondOctet, 3) & "." SortIP = SortIP & Right("000" & ThirdOctet, 3) & "." SortIP = SortIP & Right("000" & ThirdOctet, 3) & "." SortIP = SortIP & Right("000" & ThirdOctet, 3) & "." SortIP = SortIP & Right("000"& FourthOctet, 3) End Function
Pasul 4: Apoi închideți-o din fereastra Fișier și reveniți la Excel.
Pasul 5: Acum, introduceți următoarea formulă în celulă C5 :
=SortIP(B5)
Pasul 6: Puteți vedea că IP-ul este umplut cu zerouri. După aceea, copiați formula în celulele de mai jos. Sortați aceste IP-uri convertite urmând aceleași proceduri din metodele anterioare.
În cele din urmă, toate IP-urile sunt sortate după cum se arată mai jos.
Citește mai mult: Cum se utilizează funcția de sortare în Excel VBA (8 exemple adecvate)
6. Aranjați adresa IP cu ajutorul VBA în Excel
Există o altă modalitate de a sorta IP-urile folosind VBA Această metodă constă în următoarele etape.
Pasul 1: Selectați celulele care conțin adresele IP.
Pasul 2: Apoi deschideți fereastra VBA și inserați un modul ca în metoda anterioară. Apoi copiați următorul cod și lipiți-l în fereastra goală.
Sub ConvertIP() Dim xReg As New RegExp Dim xMatchs As MatchCollection Dim xMatch As Match Dim xRng As Range Dim xCellRange As Range Dim I As Long Dim xConv() As String On Error Resume Next Set xRng = Application.InputBox("Select cell/Range:", "Convert IP Address", Selection.Address, , , , , , 8) If xRng Is Nothing Then Exit Sub With xReg .Global = True .Pattern = "\d{1,3}.+\d{1,3}.+\d{1,3}.+\d{1,3}.+\d{1,3}.+\d{1,3}"For Each xCellRange In xRng Set xMatchs = .Execute(xCellRange.Value) If xMatchs.Count = 0 Then GoTo xPause For Each xMatch In xMatchs xConv = Split(xMatch, ".") For I = 0 To UBound(xConv) xConv(I) = Right("000" & xConv(I), 3) If I UBound(xConv) Then xConv(I) = xConv(I) = xConv(I) & "." End If Next Next Next xCellRange.Value = Join(xConv, "") xPause: Next End With End Sub
Pasul 3: Acum, de la Unelte fila, selectați Referințe Se va deschide o nouă casetă de dialog.
Pasul 4: Derulați în jos și verificați Expresii regulate Microsoft VBScript 5.5 din lista de Referințe disponibile . apoi apăsați OK .
Pasul 5: Acum, apăsați F5 Se va cere intervalul de celule. Puteți fie să tastați intervalul de celule, fie să comutați înapoi în Excel și să selectați întregul interval de celule. Deoarece am selectat întregul interval în pasul 1 , Excel îl ia automat ca intrare. În final, apăsați butonul OK buton.
Notă: Nu minimalizați VBA atunci când apăsați F5 .
Puteți vedea că adresele IP sunt umplute cu zerouri. Acum le puteți sorta cu ușurință ca înainte.
Conținut conex: Cum să sortați ListBox cu VBA în Excel (Un ghid complet)
Lucruri de reținut
- Metoda 4 funcționează numai dacă 3 din cei 4 octeți ai adresei IP au aceleași cifre.
- Utilizarea directă a Sortare & Filtrare poate da rezultatul corect pentru acest set de date. Numai pentru că trei octeți din IP-uri sunt identici.
Concluzie
Acum știi 6 moduri diferite de a sorta adresele IP în Excel. Pe care dintre ele o preferi cel mai mult? Cunoști și alte metode ușoare de a sorta adresele IP în Excel? Te rugăm să ne anunți în secțiunea de comentarii. Poți să ne adresezi întrebări suplimentare și acolo.