Sortera IP-adresser i Excel (6 metoder)

  • Dela Detta
Hugh West

Excel behandlar en IP-adress som text. Därför är det Sortera & Filtrera verktyget i Excel kan inte sortera IP-adresser korrekt. Den här artikeln visar 6 olika sätt att sortera IP-adresser i Excel. Följande bild illustrerar hur de flesta av metoderna fungerar.

Ladda ner övningsboken

Du kan ladda ner arbetsboken med hjälp av nedladdningsknappen nedan.

Sortera IP-adress.xlsm

6 sätt att sortera IP-adresser i Excel

Jag kommer att illustrera 6 enkla sätt att sortera IP-adresser i Excel för dig. Vi kommer att använda följande dataset för att belysa dessa metoder. Så, låt oss hoppa in!

1. Sortera IP-adresser med Excel-formeln

I den här metoden använder vi en formel för att konvertera IP-adressen så att den kan sorteras korrekt i Excel. Följ stegen nedan för att göra detta.

Steg 1: Först skriver du in följande formel i cell 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" )

Denna formel hittar punkter(.) i cellen B5 och fyller varje oktettnummer med noll/nollor om något av dem innehåller mindre än tre siffror.

Kopiera sedan formeln ner till cellerna nedan med hjälp av Handtag för fyllning Detta kommer att fylla alla IP-adresser med nollor som den första.

Steg 2: Därefter väljer du alla konverterade IP-adresser.

Steg 3: Sortera dem sedan med hjälp av Sortera & Filtrera verktyg från Hem Du kan också högerklicka på de markerade cellerna och sortera dem därifrån.

Steg 4: Utöka urvalet och sortera på följande sätt.

Nu sorteras både de konverterade IP:erna och de ursprungliga IP:erna enligt nedan.

En alternativ formel:

Steg 5: Om man använder följande formel får man samma resultat.

=(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)))))))

Men den här formeln omvandlar IP:erna till decimaltal i stället för att fylla dem med nollor som i den tidigare formeln. Du kan sortera IP:erna på samma sätt som vi sorterade dem tidigare.

Läs mer: Hur man sorterar och filtrerar data i Excel (en fullständig vägledning)

2. Sortera IP-adresser med hjälp av guiden Text till kolumner

Ett alternativt sätt att sortera IP-adresser är att använda Text till kolumner i Excel. Gå igenom följande steg för att kunna göra det.

Steg 1: Välj först alla IP:er på följande sätt: Låt 4 celler till höger vara tomma.

Steg 2: Klicka sedan på Text till kolumner ikonen från den Uppgifter som visas på följande bild.

Steg 3: Därefter markerar du din datatyp som Avgränsad och klicka sedan på Nästa .

Steg 4: Kontrollera nu Övriga och skriv en punkt(.) i textrutan. Tryck sedan på knappen Nästa knapp.

Steg 5: Därefter behåller du det allmänna dataformatet. Välj sedan destinationen enligt följande $C$5 Detta gör du genom att klicka på den lilla uppåtriktade pilen till höger om rutan för destinationsfältet. Välj sedan cell C5 . och till slut fick jag en Slutförande knapp.

Men om de intilliggande cellerna inte är tomma måste du ersätta dem genom att klicka på OK .

Steg 6: IP:erna är nu uppdelade i 4 oktetter och hela datavärdet är valt enligt bilden.

Steg 7: Nu måste du utföra en anpassad sortering av dem med hjälp av Sortera & Filtrera verktyg.

Steg 8: Sortera dem först i kolumn C. Lägg sedan till nya nivåer och sortera dem i kolumn D, E och F. Om du nu trycker på OK knappen sorteras IP:erna.

Du kan dölja eller radera okteterna om du vill.

Relaterat innehåll: Sortera data efter två kolumner i Excel (5 enkla sätt)

3. Ordna IP-adresser i Excel-tabellen

IP-adresser kan sorteras i Excel-tabellen med hjälp av en annan formel. Följ stegen nedan för att tillämpa den här metoden.

Steg 1: Först skapar du en Excel-tabell med hjälp av datasetet som visas nedan.

Steg 2: Klicka någonstans på cellerna "Konvertera IP". Klicka sedan på tillämpa följande formel i denna tabell :

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

Detta kommer att fylla alla IP:er med nollor som tidigare.

Steg 3: Sortera nu de konverterade IP-adresserna på samma sätt som i de tidigare metoderna.

Slutligen sorteras IP-adresserna.

Relaterat innehåll: Hur man sorterar en drop-down-lista i Excel (5 enkla metoder)

Liknande läsningar:

  • Slumpmässig sortering i Excel (formler + VBA)
  • Sortera efter färg i Excel (4 kriterier)
  • Sortera två kolumner i Excel efter matchning (både exakt och delvis matchning)
  • Hur man lägger till en sorteringsknapp i Excel (7 metoder)
  • Sortera i stigande ordning i Excel (3 enkla metoder)

4. Sortera IP-adresser med Flash Fill i Excel

Om de tre första oktetterna i din datauppsättning är desamma kan du använda Flash Fill i Excel för att sortera dem. Det här är kanske den snabbaste och enklaste metoden för att sortera IP-adresser i Excel. Stegen för den här metoden beskrivs nedan.

Steg 1: Ange de sista oktettsiffrorna för den första IP:n i cellen. C5 Om du gör samma sak för den andra IP:n kommer du att se en grå färgad lista enligt följande: Det är de sista oktetterna i IP:erna.

Steg 2: Slå nu på Gå in på Välj hela listan och sortera dem.

Glöm inte att expandera urvalet när du sorterar.

Nu är IP-adresserna sorterade på följande sätt.

Relaterat innehåll: Hur man ångrar sortering i Excel (3 metoder)

5. Sortera IP-adresser med hjälp av användardefinierad funktion (UDF)

Ett annat fantastiskt sätt att sortera IP-adresser är att använda Användardefinierade funktioner (UDF) i Excel. Följ stegen nedan för att göra det.

Steg 1: Öppna först den Microsoft Visual Basic för tillämpningar (VBA) fönstret. Tangentbordsgenvägen är ALT+F11 i Windows och Opt+F11 i Mac. Du kan också göra det från Utvecklare Om den inte är synlig, gå till Fil >> Alternativ >> Anpassat band >> Huvudflikar och markera kryssrutan för Utvecklare och sedan trycker du på OK .

Steg 2: Från Infoga Välj Modul .

Steg 3: Kopiera följande kod och klistra in den i det tomma fältet.

 Funktion 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"& FourthOctet, 3) Slutfunktion 

Steg 4: Stäng den sedan från Fil och återgå till Excel.

Steg 5: Skriv nu följande formel i cellen C5 :

=SortIP(B5)

Steg 6: Du kan se att IP:n fylls med nollor. Kopiera sedan formeln till cellerna nedan. Sortera de konverterade IP:erna på samma sätt som i de tidigare metoderna.

Slutligen sorteras alla IP:er enligt nedan.

Läs mer: Hur man använder sorteringsfunktionen i Excel VBA (8 lämpliga exempel)

6. Ordna IP-adresser med VBA i Excel

Det finns ett annat sätt att sortera IP:er med hjälp av VBA Metoden består av följande steg.

Steg 1: Markera de celler som innehåller IP-adresserna.

Steg 2: Öppna sedan VBA och infoga en modul som i den tidigare metoden. Kopiera sedan följande kod och klistra in den i det tomma fönstret.

 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}"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) & "." End If Next Next Next xCellRange.Value = Join(xConv, "") xPause: Next End With End Sub 

Steg 3: Från och med nu, från Verktyg Välj Referenser En ny dialogruta öppnas.

Steg 4: Bläddra ner och kontrollera Microsoft VBScript reguljära uttryck 5.5 från listan över Tillgängliga referenser Tryck sedan på OK .

Steg 5: Tryck nu på F5 Du kan antingen skriva in cellintervallet eller växla tillbaka till Excel och välja hela cellintervallet. Eftersom vi har valt hela intervallet i steg 1 tar Excel automatiskt detta som indata. Tryck slutligen på knappen OK knapp.

Observera: Minimera inte VBA när du trycker på F5 .

Du kan se att IP-adresserna är fyllda med nollor. Nu kan du sortera dem enkelt som tidigare.

Relaterat innehåll: Hur man sorterar ListBox med VBA i Excel (en komplett guide)

Saker att komma ihåg

  • Metod 4 fungerar endast om tre av de fyra okteterna i IP-adressen har samma siffror.
  • Direkt användning av Sortera & Filtrera kan ge rätt resultat för detta dataset, men bara för att tre oktetter i IP:erna är desamma.

Slutsats

Nu känner du till 6 olika sätt att sortera IP-adresser i Excel. Vilket föredrar du mest? Känner du till några andra enkla sätt att sortera IP-adresser i Excel? Berätta för oss i kommentarsfältet. Du kan också ställa ytterligare frågor där.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.