Przejdź do głównej zawartości

Jak szybko posortować adres IP od niskiego do wysokiego w programie Excel?

Ogólnie rzecz biorąc, używamy funkcji Sortuj do sortowania ciągów w programie Excel. Ale jeśli do sortowania są potrzebne adresy IP, kolejność sortowania może być nieprawidłowa, używając funkcji Sortuj bezpośrednio, jak pokazano na zrzucie ekranu. Teraz mam kilka sposobów na szybkie i poprawne sortowanie adresów IP w programie Excel.

Nieprawidłowa funkcja sortowania według sortowania Prawidłowe sortowanie
dokument sortuj ip 1 dokument sortuj ip 2

Sortuj adres IP według wzoru

Sortuj adres IP według VBA

Sortuj adres IP według tekstu do kolumn


Sortuj adres IP według wzoru

Użyj wzoru, aby wypełnić adres IP, a następnie posortuj.

1. Wybierz komórkę sąsiadującą z adresem IP i wpisz tę formułę

=TEXT(LEFT(A1,FIND(".",A1,1)-1),"000") & "." & TEXT(MID(A1,FIND( ".",A1,1)+1,FIND(".",A1,FIND(".",A1,1)+1)-FIND(".",A1,1)-1),"000") & "." & TEXT(MID(A1,FIND(".",A1,FIND(".",A1,1)+1)+1,FIND(".",A1, FIND(".",A1,FIND(".",A1,1)+1)+1)-FIND(".",A1,FIND(".",A1,1)+1)-1), "000") & "." & TEXT(RIGHT(A1,LEN(A1)-FIND(".",A1,FIND(".",A1,FIND( ".",A1,1)+1)+1)),"000")

naciśnij Wchodzę i przeciągnij uchwyt wypełniania po komórkach, aby zastosować tę formułę.
dokument sortuj ip 3

2. Skopiuj wyniki formuły i wklej je jako wartość w następnej kolumnie. Zobacz zrzut ekranu:

dokument sortuj ip 4
dokument sortuj ip 5

3. pozostaw wybraną wklejoną wartość i kliknij Dane > Sortuj od A do Z.
dokument sortuj ip 6

4. w Sortuj Waring okno dialogowe, zachowaj Rozwiń wybór sprawdzone.
dokument sortuj ip 7

5. kliknij Sortuj. Teraz adresy IP zostały posortowane od niskiego do wysokiego.
dokument sortuj ip 2

Możesz usunąć kolumny pomocnika.


Sortuj adres IP według VBA

Oto kod VBA, który również może Ci pomóc.

1. naciśnij Alt + F11 klawisze, aby włączyć Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Moduł, skopiuj i wklej kod do pustego skryptu.

VBA: Wypełnij adres IP

Sub FormatIP()
'UpdatbyExtendoffice20171215
    Dim xReg As New RegExp
    Dim xMatches As MatchCollection
    Dim xMatch As Match
    Dim xRg As Range
    Dim xCell As Range
    Dim I As Long
    Dim xArr() As String
    On Error Resume Next
    Set xRg = Application.InputBox("Select cells:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    With xReg
        .Global = True
        .Pattern = "\d{1,3}\.+\d{1,3}\.+\d{1,3}\.+\d{1,3}"
        For Each xCell In xRg
            Set xMatches = .Execute(xCell.Value)
            If xMatches.Count = 0 Then GoTo xBreak
            For Each xMatch In xMatches
                xArr = Split(xMatch, ".")
                For I = 0 To UBound(xArr)
                    xArr(I) = Right("000" & xArr(I), 3)
                    If I <> UBound(xArr) Then
                        xArr(I) = xArr(I) & "."
                    End If
                Next
            Next
            xCell.Value = Join(xArr, "")
xBreak:
        Next
    End With
End Sub

dokument sortuj ip 8

3. Następnie kliknij Tools > Numer Referencyjny, i zaznacz Wyrażenia regularne Microsoft VBScript 5.5 w wyskakującym oknie dialogowym.

dokument sortuj ip 9
dokument sortuj ip 10

4. kliknij OK i naciśnij F5 klawisz, pojawi się okno dialogowe przypominające o wybraniu zakresu do pracy.
dokument sortuj ip 11

5. kliknij OK. Następnie adresy IP zostały wypełnione zerem.

6. Wybierz adresy IP i kliknij Dane > Sortuj od A do Z aby je posortować.


Sortuj adres IP według tekstu do kolumn

W rzeczywistości funkcja Tekst na kolumny może wyświadczyć Ci przysługę również w programie Excel.

1. Wybierz używane komórki i kliknij Dane > Tekst do kolumn. Zobacz zrzut ekranu:
dokument sortuj ip 12

2. w Konwertuj Kreator tekstu na kolumnę okno dialogowe, wykonaj poniższe czynności:

Kontrola Rozgraniczonei kliknij Następna;

Kontrola Inne i typ . w polu tekstowym i kliknij Następna;

Wybierz komórkę obok adresu IP, aby umieścić wynik. Kliknij koniec.

dokument sortuj ip 13
dokument sortuj ip 14
dokument sortuj ip 15

3. Zaznacz wszystkie komórki zawierające adresy IP i komórki podzielone, a następnie kliknij Dane > Sortuj.
dokument sortuj ip 16

4. w Sortuj okno dialogowe, kliknięcie Dodaj poziom do sortowania danych z kolumny B do E (podzielone komórki). Zobacz zrzut ekranu:
dokument sortuj ip 17

5. kliknij OK. Teraz kolumny zostały posortowane.
dokument sortuj ip 18


Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Traducido al español:
=TEXTO(IZQUIERDA(A1,ENCONTRAR(".",A1,1)-1),"000") & "." & TEXTO(EXTRAE(A1,ENCONTRAR( ".",A1,1)+1,ENCONTRAR(".",A1,ENCONTRAR(".",A1,1)+1)-ENCONTRAR(".",A1,1)-1),"000") & "." & TEXTO(EXTRAE(A1,ENCONTRAR(".",A1,ENCONTRAR(".",A1,1)+1)+1,ENCONTRAR(".",A1, ENCONTRAR(".",A1,ENCONTRAR(".",A1,1)+1)+1)-ENCONTRAR(".",A1,ENCONTRAR(".",A1,1)+1)-1), "000") & "." & TEXTO(DERECHA(A1,LARGO(A1)-ENCONTRAR(".",A1,ENCONTRAR(".",A1,ENCONTRAR( ".",A1,1)+1)+1)),"000")
This comment was minimized by the moderator on the site
Thanks for your help on translating the formula.
This comment was minimized by the moderator on the site
This is great! Very much appreciated. It would be nice to add to the VB code to reverse (put back) the IP's in the original format (without the extra leading 0's) after having sorted them. :) I would be very interested in that where you can run this script, sort results, then revert back to original format.
This comment was minimized by the moderator on the site
thank you, very useful !
This comment was minimized by the moderator on the site
la formule traduite en Francais :
=TEXTE(GAUCHE(I6;TROUVE(".";I6;1)-1);"000") & "." & TEXTE(STXT(I6;TROUVE( ".";I6;1)+1;TROUVE(".";I6;TROUVE(".";I6;1)+1)-TROUVE(".";I6;1)-1);"000") & "." & TEXTE(STXT(I6;TROUVE(".";I6;TROUVE(".";I6;1)+1)+1;TROUVE(".";I6; TROUVE(".";I6;TROUVE(".";I6;1)+1)+1)-TROUVE(".";I6;TROUVE(".";I6;1)+1)-1); "000") & "." & TEXTE(DROITE(I6;NBCAR(I6)-TROUVE(".";I6;TROUVE(".";I6;TROUVE( ".";I6;1)+1)+1));"000")
This comment was minimized by the moderator on the site
Merci pour la traduction !
This comment was minimized by the moderator on the site
Why does the formula not work for the last octet? It adds zeros to the 3rd octet but not the last? So frustrating.
This comment was minimized by the moderator on the site
I have tested the formula before I post it, it can work for the last octer. Have you checked the formula you pasted is correct?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations