¿Cómo ordenar números dentro de una celda en Excel?
Es fácil y común para nosotros ordenar números en una lista de columna, pero ¿alguna vez has intentado ordenar números dentro de una sola celda? Tal vez no haya una buena manera para ti excepto organizarlos uno por uno. Aquí te hablaré sobre cómo ordenar números dentro de las celdas en Excel.
Ordenar números dentro de las celdas con fórmula
Ordenar números dentro de las celdas con Función Definida por el Usuario
Ordenar números separados por comas dentro de las celdas con código VBA
Ordenar números dentro de las celdas con fórmula
Para ordenar números dentro de las celdas en una hoja de cálculo, puedes aplicar la siguiente fórmula larga, hazlo así:
1. Junto a tus datos, por favor ingresa la siguiente fórmula; en este ejemplo, la escribiré en la celda C1, ver captura de pantalla:
=TEXT(SUM(SMALL(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1)))
2. Luego presiona Ctrl + Shift + Enter juntos, luego arrastra el controlador de relleno sobre el rango al que deseas aplicar esta fórmula, y obtendrás los números ordenados de menor a mayor. Ver captura de pantalla:
Notas:
1. Si el número de dígitos del número es más de 15 en la celda, esta fórmula no dará el resultado correcto.
2. Si quieres ordenar los números en orden descendente, puedes usar esta fórmula: =TEXT(SUM(LARGE(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1))).
3. En las fórmulas anteriores, A1 indica la celda que contiene los números que deseas ordenar, puedes cambiarla según sea necesario.

Descubre la Magia de Excel con Kutools AI
- Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
- Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
- Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
- Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
- Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Ordenar números dentro de las celdas con Función Definida por el Usuario
Debido a que hay algunas limitaciones en la fórmula, puedes usar la siguiente Función Definida por el Usuario para ordenar números en celdas con más de 15 dígitos.
1. Mantén presionadas las teclas ALT + F11, y se abrirá la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.
Código VBA: Ordenar números dentro de las celdas
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'Update 20140717
Dim xOutput As String
For i = 0 To 9
For j = 1 To UBound(VBA.Split(pNum, i))
xOutput = IIf(pOrder, i & xOutput, xOutput & i)
Next
Next
SortNumsInCell = xOutput
End Function
3. Luego guarda y cierra este código, regresa a tu hoja de trabajo, e ingresa esta fórmula =sortnumsincell(A1) en una celda en blanco junto a tus datos, ver captura de pantalla:
4. Y luego arrastra el controlador de relleno a las celdas donde deseas que contengan esta fórmula, y todos los números en las celdas se habrán ordenado en orden ascendente como se muestra en la siguiente captura de pantalla:
Nota: Si deseas ordenar los números en orden descendente, por favor ingresa esta fórmula =sortnumsincell(A1,1).
Ordenar números separados por comas dentro de las celdas con código VBA
Si tus números están separados por ciertos caracteres como coma, punto y coma, punto y otros como se muestra en la siguiente captura de pantalla, ¿cómo podrías ordenarlos en las celdas? Ahora, te presento un código VBA para que lo hagas.
1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.
Código VBA: Ordenar números separados por comas dentro de las celdas
Sub SortNumsInRange()
'Update 20140717
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set objArrayList = CreateObject("System.Collections.ArrayList")
For Each Rng In WorkRng
Arr = VBA.Split(Rng.Value, ",")
For i = 0 To UBound(Arr)
xMin = i
For j = i + 1 To UBound(Arr)
If Arr(xMin) > Arr(j) Then
xMin = j
End If
Next j
If xMin <> i Then
temp = Arr(i)
Arr(i) = Arr(xMin)
Arr(xMin) = temp
End If
Next i
Rng.Value = VBA.Join(Arr, ",")
Next
End Sub
3. Luego presiona la tecla F5 para ejecutar este código, y luego selecciona tus celdas que contienen los números en el cuadro emergente, ver captura de pantalla:
4. Y luego haz clic en Aceptar, todos los números en las celdas se habrán ordenado ascendentemente en el rango original.
Nota: Puedes cambiar la coma “,” por cualquier otro carácter que necesites en el código anterior. Y este código solo puede ordenar datos ascendentemente.
Artículos relacionados:
¿Cómo ordenar números con guiones en Excel?
¿Cómo ordenar datos por el valor más frecuente en Excel?
¿Cómo ordenar direcciones de correo electrónico por dominio en Excel?
¿Cómo ordenar filas para poner las celdas en blanco en la parte superior en Excel?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!