Tabla de contenido
Excel trata un Dirección IP como texto. Por lo tanto, el Ordenar y filtrar en Excel no puede ordenar las direcciones IP correctamente. Este artículo muestra 6 formas diferentes de ordenar direcciones IP en Excel. La siguiente imagen ilustra cómo funcionan la mayoría de los métodos.
Descargar el cuaderno de prácticas
Puede descargar el cuaderno de prácticas utilizando el botón de descarga que aparece a continuación.
Ordenar Dirección IP.xlsm6 maneras de ordenar direcciones IP en Excel
Voy a ilustrarte 6 formas sencillas de ordenar direcciones IP en Excel. Vamos a utilizar el siguiente conjunto de datos para resaltar estos métodos. Así que, ¡manos a la obra!
1. Ordenar la dirección IP utilizando la fórmula de Excel
En este método, vamos a utilizar una fórmula para convertir las direcciones IP de forma que se puedan ordenar correctamente en Excel. Para ello, sigue los pasos que se indican a continuación.
Paso 1: En primer lugar, introduzca la siguiente fórmula en la celda 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"
) Esta fórmula encuentra puntos(.) en la celda B5 y, rellena cada número de octeto con cero/cero si alguno de ellos contiene menos de tres dígitos.
A continuación, copie esta fórmula en las celdas inferiores con la tecla Asa de llenado Esto llenará todas las direcciones IP con ceros como el primero.
Segundo paso: A continuación, seleccione todas las direcciones IP convertidas.
Tercer paso: A continuación, ordénelos mediante la función Ordenar y filtrar de la Inicio También puede hacer clic con el botón derecho en las celdas seleccionadas y ordenarlas desde allí.
Paso 4: Amplíe la selección mientras clasifica de la siguiente manera.
Ahora tanto las IPs convertidas como las IPs originales están ordenadas como se muestra a continuación.
Una fórmula alternativa:
Paso 5: Utilizando la siguiente fórmula también se obtiene el mismo resultado.
=(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)))))))
Pero esta fórmula convierte las IPs a números decimales en lugar de rellenarlas con ceros en la anterior. Puedes ordenar las IPs de la misma forma que las hemos ordenado antes.
Más información: Cómo ordenar y filtrar datos en Excel (una guía completa)
2. Asistente para ordenar direcciones IP por texto en columnas
Una forma alternativa de ordenar las direcciones IP es utilizar la función Texto a columnas Siga los siguientes pasos para poder hacerlo.
Paso 1: En primer lugar, seleccione todos los PI de la siguiente manera. Mantenga 4 celdas adyacentes vacías a la derecha.
Segundo paso: A continuación, haga clic en el botón Texto a columnas del icono Datos como se muestra en la siguiente imagen.
Tercer paso: A continuación, marque su tipo de datos como Delimitado y, a continuación, haga clic en Siguiente .
Paso 4: Ahora compruebe el Otros y escriba un punto(.) en el cuadro de texto. A continuación, pulse la tecla Siguiente botón.
Paso 5: A continuación, elija el destino como a $C$5 Para ello, haga clic en la pequeña flecha hacia arriba situada a la derecha del cuadro de campo de destino. A continuación, seleccione la celda C5 Y finalmente golpeó el Acabado botón.
Pero si las celdas adyacentes no están vacías, hay que sustituirlas haciendo clic en OK .
Paso 6: Ahora las IPs están divididas en 4 octetos. Mantenga todo el rango de datos seleccionado como se muestra.
Paso 7: Ahora, debe realizar una ordenación personalizada de los mismos mediante la función Ordenar y filtrar herramienta.
Paso 8: Primero ordénelos por la columna C. A continuación, añada nuevos niveles y ordénelos por las columnas D, E y F respectivamente. Ahora, si pulsa el botón OK se ordenarán las IP.
Si lo desea, puede ocultar o eliminar los octetos.
Contenido relacionado: Cómo Ordenar Datos por Dos Columnas en Excel (5 Formas Fáciles)
3. Organizar la dirección IP en una tabla Excel
Las direcciones IP se pueden ordenar en una tabla de Excel utilizando otra fórmula. Siga los pasos que se indican a continuación para aplicar este método.
Paso 1: En primer lugar, cree un Tabla Excel utilizando el conjunto de datos que se muestra a continuación.
Segundo paso: Haga clic en cualquier lugar de las celdas "Convertir IP". A continuación aplique la siguiente fórmula en esta tabla :
=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))
Esto llenará todas las IPs con ceros como se hizo anteriormente.
Paso 3: Ahora, ordena las IPs convertidas como se hizo en los métodos anteriores.
Por último, se ordenan las direcciones IP.
Contenido relacionado: Cómo ordenar listas desplegables en Excel (5 métodos fáciles)
Lecturas similares:
- Ordenación Aleatoria en Excel (Fórmulas + VBA)
- Cómo Ordenar por Color en Excel (4 Criterios)
- Ordenar Dos Columnas en Excel para que Coincidan (Tanto Coincidencia Exacta como Parcial)
- Cómo añadir un botón de ordenación en Excel (7 métodos)
- Ordenar por Orden Ascendente en Excel (3 Métodos Fáciles)
4. Ordenar Dirección IP con Flash Fill en Excel
Si los tres primeros octetos de su conjunto de datos son iguales, entonces puede utilizar el Relleno Flash en Excel para ordenarlos. Tal vez éste sea el método más rápido y sencillo para ordenar direcciones IP en Excel. A continuación se explican los pasos de este método.
Primer paso: Escriba los dígitos del último octeto de la primera IP en la celda C5 Ahora si haces lo mismo para la segunda IP, verás una lista de color gris como la siguiente. Estos son los últimos octetos de las IPs.
Segundo paso: Ahora golpea Entre en Seleccione toda la lista y ordénela.
No olvide ampliar la selección al clasificar.
Ahora las direcciones IP están ordenadas de la siguiente manera.
Contenido relacionado: Cómo deshacer la ordenación en Excel (3 métodos)
5. Ordenar la dirección IP utilizando la función definida por el usuario (UDF)
Otra forma sorprendente de ordenar las direcciones IP es utilizando Funciones definidas por el usuario (UDF) Para ello, siga los pasos que se indican a continuación.
Paso 1: En primer lugar, abra el Microsoft Visual Basic para Aplicaciones (VBA) El atajo de teclado es ALT+F11 en Windows y Opt+F11 en Mac. También puede hacerlo desde la pantalla Desarrollador Si no está visible, vaya a Archivo >> Opciones >> Cinta personalizada >> Pestañas principales y marque la casilla Desarrollador y luego pulsa OK .
Segundo paso: Desde el Inserte seleccione Módulo .
Paso 3: Ahora, copia el siguiente código y pégalo en el campo en blanco.
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) && CuartoOcteto, 3) End Function
Paso 4: A continuación, ciérrela desde el Archivo y vuelva a Excel.
Paso 5: Ahora, escriba la siguiente fórmula en la celda C5 :
=SorteoIP(B5)
Paso 6: Puedes ver que la IP se rellena con ceros. Después, copia la fórmula en las celdas de abajo. Ordena esas IPs convertidas siguiendo los mismos procedimientos de los métodos anteriores.
Por último, todas las IP se clasifican como se muestra a continuación.
Más información: Cómo utilizar la función Ordenar en Excel VBA (8 ejemplos adecuados)
6. Organizar la dirección IP con VBA en Excel
Existe otra forma de clasificar las IP utilizando VBA Este método consta de los siguientes pasos.
Paso 1: Seleccione las celdas que contienen las direcciones IP.
Segundo paso: A continuación, abra el VBA e inserte un módulo como en el método anterior. A continuación, copie el siguiente código y péguelo en la ventana en blanco.
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}"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 xCellRange.Value = Join(xConv, "") xPause: Next End With End Sub
Tercer paso: Ahora, desde el Herramientas seleccione Referencias Se abrirá un nuevo cuadro de diálogo.
Paso 4: Desplácese hacia abajo y compruebe Expresiones regulares de Microsoft VBScript 5.5 de la lista de Referencias disponibles Entonces golpea OK .
Paso 5: Ahora, pulse F5 Esto le pedirá el rango de celdas. Puede escribir el rango de celdas o volver a Excel y seleccionar todo el rango de celdas. Como hemos seleccionado todo el rango en paso 1 Excel lo toma automáticamente como entrada. Por último, pulse el botón OK botón.
Nota: No minimice la VBA cuando esté pulsando F5 .
Puedes ver que las direcciones IP están llenas de ceros. Ahora puedes ordenarlas fácilmente como antes.
Contenido relacionado: Cómo ordenar ListBox con VBA en Excel (Una guía completa)
Cosas para recordar
- El método 4 sólo funciona si 3 de los 4 octetos de la dirección IP tienen los mismos dígitos.
- Uso directo del Ordenar y filtrar puede dar el resultado correcto para este conjunto de datos. Sólo porque tres octetos de las IP son iguales.
Conclusión
Ahora que ya conoces 6 formas diferentes de ordenar direcciones IP en Excel, ¿cuál prefieres? ¿Conoces algún otro método sencillo para ordenar direcciones IP en Excel? Por favor, háznoslo saber en la sección de comentarios. También puedes hacernos más consultas allí.