Miten lajitella IP-osoite Excelissä (6 menetelmää)

  • Jaa Tämä
Hugh West

Excel käsittelee IP-osoite tekstinä. Siksi Lajittele & suodata työkalu Excelissä ei pysty lajittelemaan IP-osoitteita oikein. Tässä artikkelissa esitellään 6 eri tapaa lajitella IP-osoitteita Excelissä. Seuraava kuva havainnollistaa, miten useimmat menetelmät toimivat.

Lataa harjoituskirja

Voit ladata harjoituskirjan alla olevasta latauspainikkeesta.

Lajittele IP-osoite.xlsm

6 tapaa lajitella IP-osoite Excelissä

Esittelen sinulle 6 helppoa tapaa lajitella IP-osoitteita Excelissä. Käytämme seuraavaa tietokokonaisuutta näiden menetelmien esittelyyn. Aloitetaan siis!

1. Lajittele IP-osoite Excel-kaavalla

Tässä menetelmässä käytämme kaavaa IP-osoitteiden muuntamiseen, jotta ne voidaan lajitella oikein Excelissä. Toimi seuraavasti.

Vaihe 1: Kirjoita aluksi seuraava kaava soluun 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" )

Tämä kaava etsii pisteitä(.) solusta B5 ja täyttää jokaisen oktettinumeron nollalla/nollilla, jos jokin niistä sisältää vähemmän kuin kolme numeroa.

Kopioi sitten tämä kaava alla oleviin soluihin käyttämällä näppäintä Täyttökahva Tämä täyttää kaikki IP-osoitteet nollilla ensimmäisenä.

Vaihe 2: Valitse sen jälkeen kaikki muunnetut IP-osoitteet.

Vaihe 3: Lajittele ne sitten käyttämällä Lajittele & suodata työkalu Etusivu Voit myös napsauttaa valittuja soluja hiiren kakkospainikkeella ja lajitella ne sieltä.

Vaihe 4: Laajenna valintaa lajittelun aikana seuraavasti.

Nyt sekä muunnetut IP-osoitteet että alkuperäiset IP-osoitteet on lajiteltu alla esitetyllä tavalla.

Vaihtoehtoinen kaava:

Vaihe 5: Seuraavaa kaavaa käyttämällä saadaan myös sama tulos.

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

Mutta tämä kaava muuntaa IP-osoitteet desimaaliluvuiksi sen sijaan, että ne täytettäisiin nollilla, kuten aiemmassa kaavassa. Voit lajitella IP-osoitteet samalla tavalla kuin aiemmin lajittelimme ne.

Lue lisää: Miten lajitella ja suodattaa tietoja Excelissä (täydellinen ohje)

2. Lajittele IP-osoite tekstin mukaan sarakkeisiin Ohjattu toiminto

Vaihtoehtoinen tapa lajitella IP-osoitteita on käyttää komentoa Teksti sarakkeisiin Ohjattu toiminto Excelissä. Käy läpi seuraavat vaiheet, jotta voit tehdä sen.

Vaihe 1: Valitse ensin kaikki IP-osoitteet seuraavasti: Pidä oikealla puolella 4 vierekkäistä solua tyhjänä.

Vaihe 2: Napsauta seuraavaksi Teksti sarakkeisiin kuvaketta Tiedot välilehti, kuten seuraavassa kuvassa näkyy.

Vaihe 3: Tämän jälkeen merkitse tietotyyppi Delimited ja klikkaa sitten Seuraava .

Vaihe 4: Tarkista nyt Muut ja kirjoita piste(.) tekstikenttään. Paina sitten näppäintä Seuraava nappi.

Vaihe 5: Pidä sen jälkeen tietojen muoto yleisenä. Valitse sitten määränpää seuraavalla tavalla. $C$5 Voit tehdä tämän napsauttamalla pientä ylöspäin osoittavaa nuolta kohdekentän kentän oikealla puolella. Valitse sitten solu C5 . Ja lopulta osui Viimeistely nappi.

Mutta jos viereiset solut eivät ole tyhjiä, ne on korvattava napsauttamalla hiiren painiketta OK .

Vaihe 6: Nyt IP-osoitteet on jaettu neljään oktettiin. Pidä koko data-alue valittuna kuvan mukaisesti.

Vaihe 7: Nyt sinun on tehtävä niille mukautettu lajittelu käyttämällä komentoa Lajittele & suodata työkalu.

Vaihe 8: Lajittele ne ensin sarakkeen C mukaan. Lisää sitten uusia tasoja ja lajittele ne vastaavasti sarakkeiden D, E ja F mukaan. Jos nyt painat painiketta OK painiketta, IP-osoitteet lajitellaan.

Voit halutessasi piilottaa tai poistaa oktetit.

Aiheeseen liittyvä sisältö: Miten lajitella tietoja kahdella sarakkeella Excelissä (5 helppoa tapaa)

3. Järjestä IP-osoite Excel-taulukkoon

IP-osoitteet voidaan lajitella Excel-taulukkoon toisen kaavan avulla. Voit soveltaa tätä menetelmää noudattamalla seuraavia ohjeita.

Vaihe 1: Luo ensin Excel-taulukko käyttämällä alla esitettyä tietokokonaisuutta.

Vaihe 2: Napsauta mitä tahansa 'Convert IP' -kenttää. Napsauta sitten sovelletaan seuraavaa kaavaa tässä taulukossa :

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

Tämä täyttää kaikki IP-osoitteet nollilla, kuten aiemmin tehtiin.

Vaihe 3: Lajittele nyt muunnetut IP-osoitteet kuten edellisissä menetelmissä.

Lopuksi IP-osoitteet lajitellaan.

Aiheeseen liittyvä sisältö: Miten lajitella pudotusluettelo Excelissä (5 helppoa menetelmää)

Samanlaisia lukemia:

  • Satunnainen lajittelu Excelissä (kaavat + VBA)
  • Miten lajitella värin mukaan Excelissä (4 kriteeriä)
  • Lajittele kaksi saraketta Excelissä otteluun (sekä tarkka että osittainen ottelu).
  • Miten lisätä lajittelupainike Excelissä (7 menetelmää)
  • Lajittelu nousevassa järjestyksessä Excelissä (3 helppoa menetelmää)

4. Lajittele IP-osoite Excelin Flash Fill -ohjelmalla

Jos tietokokonaisuutesi kolme ensimmäistä oktettia ovat samoja, voit käyttää Excelin Flash Fill -toimintoa niiden lajitteluun. Tämä on ehkä nopein ja helpoin tapa lajitella IP-osoitteita Excelissä. Tämän menetelmän vaiheita käsitellään jäljempänä.

Vaihe 1: Kirjoita ensimmäisen IP-osoitteen viimeiset kahdeksasosan numerot soluun C5 Jos teet saman toiselle IP-osoitteelle, näet harmaan värisen luettelon seuraavasti: Nämä ovat IP-osoitteiden viimeiset oktetit.

Vaihe 2: Nyt paina Kirjoita ja luettelo täyttyy. Valitse koko luettelo ja lajittele ne.

Älä unohda laajentaa valintaa lajittelun aikana.

Nyt IP-osoitteet on lajiteltu seuraavasti.

Aiheeseen liittyvä sisältö: Lajittelun peruuttaminen Excelissä (3 menetelmää)

5. Lajittele IP-osoitteet UDF:n (User Defined Function) avulla.

Toinen hämmästyttävä tapa lajitella IP-osoitteita on käyttää Käyttäjän määrittelemät toiminnot (UDF) Excelissä. Toimi seuraavasti.

Vaihe 1: Avaa ensin Microsoft Visual Basic for Applications (VBA) ikkuna. Pikanäppäin on ALT+F11 Windowsissa ja Opt+F11 Macissa. Voit tehdä sen myös Macin sivulta Kehittäjä Jos se ei ole näkyvissä, siirry kohtaan Tiedosto >> Vaihtoehdot >> Räätälöity nauha >> Päävälilehdet ja merkitse valintaruutu kohtaan Kehittäjä ja paina sitten OK .

Vaihe 2: Vuodesta Lisää välilehti, valitse Moduuli .

Vaihe 3: Kopioi nyt seuraava koodi ja liitä se tyhjään kenttään.

 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) &.& FourthOctet, 3) End Function 

Vaihe 4: Sulje se sitten Tiedosto välilehti ja palaa Exceliin.

Vaihe 5: Kirjoita nyt seuraava kaava soluun C5 :

=SortIP(B5)

Vaihe 6: Näet, että IP-osoite on täynnä nollia. Kopioi sen jälkeen kaava alla oleviin soluihin. Lajittele muunnetut IP-osoitteet aiempien menetelmien mukaisesti.

Lopuksi kaikki IP-osoitteet lajitellaan alla esitetyllä tavalla.

Lue lisää: Kuinka käyttää lajittelutoimintoa Excel VBA: ssa (8 sopivaa esimerkkiä)

6. Järjestä IP-osoite VBA:lla Excelissä

On toinenkin tapa lajitella IP-osoitteet käyttämällä VBA Menetelmä koostuu seuraavista vaiheista.

Vaihe 1: Valitse solut, jotka sisältävät IP-osoitteet.

Vaihe 2: Avaa sitten VBA ikkunaan ja lisää moduuli kuten aiemmassa menetelmässä. Kopioi sitten seuraava koodi ja liitä se tyhjään ikkunaan.

 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 

Vaihe 3: Nyt, alkaen Työkalut välilehti, valitse Viitteet Tämä avaa uuden valintaikkunan.

Vaihe 4: Vieritä alaspäin ja tarkista Microsoft VBScriptin säännölliset lausekkeet 5.5 luettelosta Saatavilla olevat viitteet . Sitten paina OK .

Vaihe 5: Paina nyt F5 Tämä kysyy solualuetta. Voit joko kirjoittaa solualueen tai vaihtaa takaisin Exceliin ja valita koko solualueen. Koska olemme valinneet koko alueen kohdassa vaihe 1 , Excel ottaa sen automaattisesti syötteeksi. Paina lopuksi näppäintä OK nappi.

Huom: Älä vähättele VBA ikkuna, kun painat F5 .

Näet, että IP-osoitteet ovat täynnä nollia. Nyt voit lajitella ne helposti kuten ennenkin.

Aiheeseen liittyvä sisältö: Miten lajitella ListBox VBA: lla Excelissä (täydellinen opas)

Muistettavat asiat

  • Menetelmä 4 toimii vain, jos IP-osoitteen neljästä oktetista kolmessa on samat numerot.
  • Suora käyttö Lajittele & suodata työkalu saattaa antaa oikean tuloksen tälle tietokokonaisuudelle. Vain siksi, että IP-osoitteiden kolme oktettia ovat samat.

Päätelmä

Nyt tiedät 6 erilaista tapaa lajitella IP-osoitteita Excelissä. Mikä niistä on sinulle mieluisin? Tiedätkö muita helppoja tapoja lajitella IP-osoitteita Excelissä? Kerro meille kommenttiosioon. Voit myös kysyä siellä lisää.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.