¿Cómo ordenar datos en Excel según dos columnas?
Al trabajar con conjuntos de datos en Excel que contienen nombres y dos conjuntos distintos de puntuaciones (por ejemplo, resultados de exámenes, calificaciones de proyectos o datos de ventas en varios periodos), a veces puede ser necesario ordenar los nombres en función de una combinación de ambas puntuaciones. Este requisito es habitual en escenarios donde se debe evaluar el rendimiento global o los logros combinados, como la concesión de becas, la identificación de los mejores representantes comerciales o la combinación de resultados de dos fases de una competición. Sin embargo, Excel no ofrece una función directa para ordenar según varias columnas; en su lugar, debe aplicar soluciones creativas para conseguir el orden deseado.
Ordenar según dos columnas
Una forma eficaz de ordenar nombres en función de dos columnas de puntuaciones consiste en utilizar una fórmula personalizada que tenga en cuenta ambos conjuntos de puntuaciones. Normalmente, la primera puntuación se considera el criterio principal y la segunda actúa como desempate. Este enfoque resulta útil cuando se desea mantener un orden original para las puntuaciones empatadas basándose en una métrica secundaria de rendimiento.
Para aplicar este método, siga estos pasos:
1. Seleccione una celda vacía donde quiera que aparezcan los resultados del orden. Por ejemplo, elija la celda D2.
2. Introduzca la siguiente fórmula:
=RANK(B2,$B$2:$B$7)+SUMPRODUCT(--($B$2:$B$7=$B2),--(C2<$C$2:$C$7)) Esta fórmula calcula primero el orden en función de la primera columna de puntuaciones. Cuando hay empates (es decir, puntuaciones duplicadas), ajusta el orden según la segunda puntuación, clasificando las entradas empatadas en función del valor secundario. La parte SUMAPRODUCTO actúa como desempate, contando los casos en los que las primeras puntuaciones son iguales pero la segunda puntuación es inferior.
3. Pulse Intro para confirmar la fórmula.
4. Arrastre el controlador de relleno hacia abajo para aplicar la fórmula al resto de celdas de la columna D.
En esta fórmula, B2 y C2 hacen referencia a las primeras celdas con datos de las columnas de puntuaciones, mientras que $B$2:$B$7 y $C$2:$C$7 indican los rangos que incluyen todas las puntuaciones. Ajuste estas referencias si su rango de datos es distinto.
Este método funciona bien con conjuntos de datos pequeños o medianos y cuando el desempate se basa simplemente en la siguiente columna de puntuaciones. No obstante, si necesita gestionar conjuntos de datos más grandes o requiere reglas de ordenación más complejas, considere los siguientes enfoques alternativos.
Código VBA: automatice la clasificación según dos columnas para conjuntos de datos grandes o reglas de ordenación personalizadas
Si trabaja con un conjunto de datos grande o necesita automatizar la clasificación mediante lógica personalizada —por ejemplo, incorporando más condiciones o aplicándola a rangos variables—, VBA puede ser una solución práctica. Este enfoque es ideal cuando la aplicación manual de fórmulas resulta demasiado engorrosa o cuando requiere procesamiento por lotes en varias hojas.
1. Haga clic en Herramientas para desarrolladores > Visual Basic. Cuando se abra la ventana Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo y copie y pegue el siguiente código en el módulo:
Sub Rank_Two_Columns()
Dim lastRow As Long
Dim ws As Worksheet
Dim rngScore1 As Range, rngScore2 As Range, rngRank As Range
Dim i As Long, j As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row 'Assume scores are in columns B and C
Set rngScore1 = ws.Range("B2:B" & lastRow)
Set rngScore2 = ws.Range("C2:C" & lastRow)
Set rngRank = ws.Range("D2:D" & lastRow)
For i = 1 To rngScore1.Rows.Count
Dim rankCount As Long
rankCount = 1
For j = 1 To rngScore1.Rows.Count
If rngScore1.Cells(j, 1).Value > rngScore1.Cells(i, 1).Value Then
rankCount = rankCount + 1
ElseIf rngScore1.Cells(j, 1).Value = rngScore1.Cells(i, 1).Value Then
If rngScore2.Cells(j, 1).Value > rngScore2.Cells(i, 1).Value Then
rankCount = rankCount + 1
End If
End If
Next j
rngRank.Cells(i, 1).Value = rankCount
Next i
End Sub Este código ordena las filas según la primera puntuación y, en caso de empate, utiliza la segunda puntuación como criterio de desempate. Supone que su primer conjunto de puntuaciones se encuentra en la columna B, el segundo en la columna C y que los resultados del orden aparecen en la columna D (a partir de D2 hacia abajo). Ajuste las letras de las columnas o los rangos si sus datos están organizados de forma distinta.
2. Para ejecutar el código, cierre el editor de VBA, vuelva a Excel y pulse Alt + F8 para abrir el cuadro de diálogo Macro, seleccione Rank_Two_Columns y haga clic en Ejecutar. Los órdenes aparecerán en la columna D.
Al ejecutar macros, asegúrese de que estén habilitadas en Excel y guarde siempre su trabajo antes, ya que las macros no se pueden deshacer. Con conjuntos de datos especialmente grandes, esta solución de VBA puede clasificar la información mucho más rápido que copiar fórmulas manualmente.
Si encuentra errores como «Subíndice fuera de intervalo» o observa que los órdenes no aparecen, compruebe que sus datos no contengan Filas en blanco dentro del rango y que las columnas de puntuaciones estén correctamente referenciadas en el código.
Otros métodos integrados de Excel: use columnas auxiliares para combinar las dos puntuaciones y ordenar
Para usuarios que prefieran evitar fórmulas con lógica matricial o VBA, también es posible lograr la clasificación mediante las herramientas integradas de ordenación de Excel utilizando una columna auxiliar. Este enfoque resulta especialmente sencillo cuando ambas columnas de puntuaciones contienen valores numéricos y se desea aplicar una lógica de ordenación ponderada o concatenada.
Así es como puede hacerlo:
1. Inserte una nueva columna (por ejemplo, la columna D) que servirá como auxiliar.
2. En la primera celda de la columna auxiliar (por ejemplo, D2), introduzca una fórmula que asigne un valor único a cada fila. Puede concatenar ambas puntuaciones o aplicar ponderaciones si desea darle más peso a una que a la otra. Por ejemplo, si la primera puntuación representa el 60 % y la segunda el 40 %, introduzca:
=B2*0.6+C2*0.4 3. Pulse Intro y copie esta fórmula hacia abajo para aplicarla a todas las filas.
4. Seleccione todos sus datos (incluidos los nombres y ambas columnas de puntuaciones).
5. Vaya a la pestaña Datos y elija Ordenar. En el cuadro de diálogo Ordenar, establezca la columna auxiliar como clave de ordenación y seleccione De mayor a menor.
6. Sus datos quedarán ahora ordenados según la lógica combinada de clasificación.
Este método no requiere fórmulas avanzadas ni scripts y resulta intuitivo si necesita aplicar distintas ponderaciones a sus criterios de clasificación. No obstante, tenga en cuenta que, al concatenar números como texto (por ejemplo, combinar puntuaciones de 90 y 88 en «9088»), el resultado no será correcto si las puntuaciones tienen distinto número de dígitos. En estos casos, las sumas ponderadas o los cálculos escalados suelen ser opciones más seguras para generar órdenes únicos y lógicos.
Si necesita una columna de clasificación, puede aplicar además la función JERARQUÍA sobre los valores auxiliares. Por ejemplo, en E2, introduzca:
=RANK(D2,$D$2:$D$7) A continuación, arrastre para aplicar la fórmula de clasificación a todas las filas.
Nota: Asegúrese de que el método de cálculo en la columna auxiliar refleje fielmente la regla de clasificación deseada. Este enfoque es ideal para clasificaciones sencillas basadas en una «puntuación global» o cuando necesite una forma rápida y visual de ordenar sus datos.
En resumen, la clasificación de datos según dos columnas en Excel puede lograrse mediante fórmulas en escenarios dinámicos y sencillos, mediante macros VBA en tareas extensas o personalizadas, y mediante columnas auxiliares combinadas con ordenación para clasificaciones ponderadas o concatenaciones simples. Verifique siempre sus resultados comprobando algunos órdenes de forma puntual, especialmente tras ordenar o ejecutar scripts. Si obtiene resultados inconsistentes, asegúrese de que sus datos no contengan números ocultos, celdas combinadas, filas en blanco ni números con formato de texto.

Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Artículos relacionados
- ¿Cómo ordenar rápidamente una lista según un valor específico en Excel?
- ¿Cómo ordenar sin esfuerzo una lista sin empates en Excel?
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos