Прескочи на основното съдържание

Как бързо да сортирате IP адрес от нисък към висок в Excel?

Автор: Слънце Последна промяна: 2020-07-20

По принцип използваме функцията Sort за сортиране на низ в Excel. Но ако има някои IP адреси, необходими за сортиране, редът на сортиране може да е грешен, като използвате директно функцията за сортиране, както е показано на екранната снимка по-долу. Сега имам няколко начина да сортирам IP адресите бързо и правилно в Excel.

Грешна функция за сортиране по сортиране Правилно сортиране
doc sort ip 1 doc sort ip 2

Сортиране на IP адреса по формула

Сортиране на IP адреса по VBA

Сортиране на IP адреса по текст към колони


Сортиране на IP адреса по формула

Използвайте формула, за да попълните IP адреса, след което сортирайте.

1. Изберете клетка в съседство с IP адреса и въведете тази формула

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

натискане Въведете и плъзнете манипулатора за запълване върху клетките, за да приложите тази формула.
doc sort ip 3

2. Копирайте резултатите от формулата и ги поставете като стойност в следващата колона. Вижте екранна снимка:

doc sort ip 4
doc sort ip 5

3. запазете избраната поставена стойност и щракнете Дата > Сортирай от А до Я.
doc sort ip 6

4. В Сортирайте Waring диалог, запази Разширете селекцията проверени.
doc sort ip 7

5. кликнете Вид. Сега IP адресите са сортирани от ниско към високо.
doc sort ip 2

Можете да премахнете помощните колони.


Сортиране на IP адреса по VBA

Ето код на VBA, който също може да ви помогне.

1. Натиснете Alt + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец.

2. кликване Поставете > Модули, копирайте и поставете кода в празния скрипт.

VBA: Попълнете 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

doc sort ip 8

3. След това кликнете Инструменти > препратка, и проверете Регулярни изрази на Microsoft VBScript 5.5 в изскачащия диалогов прозорец.

doc sort ip 9
doc sort ip 10

4. кликване OK и натиснете F5 клавиш, изскача диалогов прозорец, който ви напомня да изберете диапазон, който да работите.
doc sort ip 11

5. кликване OK. След това IP адресите са попълнени с нула.

6. Изберете IP адресите и щракнете Дата > Сортирай от А до Я да ги сортирате.


Сортиране на IP адреса по текст към колони

Всъщност функцията Text to Columns може да ви направи услуга и в Excel.

1. Изберете клетките, които използвате, и щракнете Дата > Текст към колони. Вижте екранна снимка:
doc sort ip 12

2. В Съветник за преобразуване на текст в колони диалогов прозорец, направете следното:

Проверка ограничители, и кликнете Напред;

Проверка Други и вид . в текстовото поле и щракнете Напред;

Изберете клетка до IP адреса, за да поставите резултата. Кликнете завършеност.

doc sort ip 13
doc sort ip 14
doc sort ip 15

3. Изберете всички клетки, съдържащи IP адресите и разделените клетки, и щракнете Дата > Вид.
doc sort ip 16

4. В Вид диалогов прозорец, щракване Добавете ниво за сортиране на данни от колона B до E (разделените клетки). Вижте екранна снимка:
doc sort ip 17

5. кликване OK. Сега колоните са сортирани.
doc sort ip 18


Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
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