KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo agrupar y ordenar valores en Excel?

AutorSun Fecha de modificación

Al trabajar con datos agrupados en Excel, suele ser necesario comparar valores dentro de cada grupo: por ejemplo, clasificar cifras de ventas por región, puntuaciones de exámenes por clase o importes de transacciones por categoría. Aunque Excel ofrece herramientas potentes para ordenar datos, la clasificación dentro de grupos —también conocida como “clasificación por grupos” o “clasificación condicional”— requiere un enfoque específico. Esta técnica resulta especialmente útil cuando se necesita evaluar el rendimiento o identificar los registros más altos y más bajos dentro de distintas categorías, sin mezclar resultados entre grupos. A continuación, se presentan métodos prácticos para clasificar valores por grupo, facilitando así una interpretación clara y un análisis preciso de sus datos en tareas cotidianas.
Una captura de pantalla que muestra un conjunto de datos agrupados con valores ordenados en Excel

Clasificar valores por grupo
Código VBA: use una macro para automatizar la clasificación de valores dentro de cada grupo


flecha azul derecha burbuja Clasificar valores por grupo

En situaciones en las que necesite clasificar valores dentro de grupos distintos —como calificar a los estudiantes por clase o listar las ventas por región—, Excel no incluye una función directa de “clasificación por grupo”. No obstante, con una fórmula bien diseñada puede lograr esta clasificación de forma eficiente y sin necesidad de manipular manualmente los datos.

Para ello, puede utilizar una fórmula matricial que combine pruebas lógicas con funciones de agregación, lo que le permite comparar cada valor exclusivamente dentro de su grupo designado y generar así el rango requerido para cada punto de datos.

Siga estos pasos:

  • Prepare sus datos agrupados en columnas, como Grupo (A2:A11) y Valor (B2:B11).
  • Seleccione una celda en blanco adyacente a sus datos, normalmente en la primera fila junto a sus valores, como por ejemplo la celda C2.
  • Introduzca la siguiente fórmula:
=SUMPRODUCT(($A$2:$A$11=A2)*(B2<$B$2:$B$11))+1

Esta fórmula funciona contando cuántos valores del mismo grupo son menores que el valor actual. A continuación se explica el significado de cada parámetro:

  • ($A$2:$A$11=A2)
    → Comprueba si cada celda del rango A2:A11 coincide con el valor de A2.
    → Devuelve una matriz de valores VERDADERO/FALSO (o 1/0) que indica si cada fila pertenece al mismo grupo que A2.
  • (B2<$B$2:$B$11)
    → Comprueba cuántos valores del rango B2:B11 son mayores que el valor de B2.
    → Devuelve VERDADERO (1) si B2 es menor que un valor determinado, y FALSO (0) en caso contrario.
  • * (Multiplicación)
    → Combina las dos condiciones:
  • Coincidencia de grupo (A2)
    El valor en B2 es menor que los demás
    → Así, solo se contarán las filas del mismo grupo cuyo valor sea menor.
  • SUMAPRODUCTO(...)
    → Suma el número de filas que cumplen ambas condiciones.
  • +1
    → Los rangos comienzan en 1 (en lugar de 0), por lo que se suma 1 al recuento de valores menores.

Una vez introducida la fórmula en C2, arrastre el controlador de autorrelleno hacia abajo para aplicarla a todas las filas relevantes de su conjunto de datos. La fórmula se ajustará automáticamente al grupo y al valor de cada fila, devolviendo el rango correspondiente dentro de ese grupo.Una captura de pantalla que muestra la fórmula de Excel aplicada para ordenar valores por grupo en una hoja de cálculo

Consejos y precauciones:

  • Si su rango es amplio, recuerde actualizar las referencias de celda en consecuencia.
  • Para rangos en orden descendente (por ejemplo, que el valor más alto sea 1), modifique la comparación en la fórmula de B2<$B$2:$B$11 a B2>$B$2:$B$11.
  • Para gestionar valores duplicados, esta fórmula asigna el mismo rango a valores idénticos dentro del mismo grupo. Si necesita rangos secuenciales únicos, considere utilizar columnas auxiliares adicionales.

Este método basado en fórmulas es flexible y se adapta fácilmente a la mayoría de las estructuras de tablas agrupadas en Excel. No obstante, con conjuntos de datos muy grandes, el rendimiento del cálculo puede ralentizarse debido al uso de lógica matricial.


Código VBA: use una macro para automatizar la clasificación de valores dentro de cada grupo

Para usuarios que deseen automatizar el proceso de clasificación o gestionar conjuntos de datos más grandes de forma eficiente, escribir una macro en VBA puede ser un enfoque muy útil. Las macros permiten automatizar pasos repetitivos, ofrecen mayor personalización y procesan los datos con mayor rapidez que las fórmulas complejas. Esta opción es ideal para escenarios como la generación programada de informes, tareas repetidas de clasificación o cuando se desea evitar el exceso de fórmulas en la hoja de cálculo.

Antes de continuar, asegúrese de guardar su trabajo y de habilitar las macros en la configuración de Excel. A continuación, le explicamos cómo crear y ejecutar esta solución:

  1. Pulse Alt + F11 para abrir el editor de VBA. En la ventana de Microsoft Visual Basic para Aplicaciones que aparece, haga clic en Insertar > Módulo y, a continuación, pegue el siguiente código en el módulo abierto:
Sub RankValuesByGroup()
    Dim DataRange As Range
    Dim GroupRng As Range
    Dim ValueRng As Range
    Dim OutCol As Range
    Dim dictGroups As Object
    Dim arrValues, arrRanks
    Dim i As Long, j As Long
    Dim GroupKey As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set DataRange = Application.InputBox("Select the data table range (including group and value columns)", xTitleId, Selection.Address, Type:=8)
    If DataRange Is Nothing Then Exit Sub
    
    Set GroupRng = Application.InputBox("Select the group column within your range", xTitleId, DataRange.Columns(1).Address, Type:=8)
    Set ValueRng = Application.InputBox("Select the value column to rank within your range", xTitleId, DataRange.Columns(2).Address, Type:=8)
    
    Set OutCol = DataRange.Offset(0, DataRange.Columns.Count).Resize(DataRange.Rows.Count, 1)
    OutCol.Cells(1).Value = "RankByGroup"
    
    Set dictGroups = CreateObject("Scripting.Dictionary")
    arrValues = ValueRng.Value
    arrRanks = ValueRng.Value
    
    ' Build group dictionaries for ranking
    For i = 2 To UBound(arrValues, 1)
        GroupKey = GroupRng.Cells(i, 1).Value
        If Not dictGroups.Exists(GroupKey) Then
            dictGroups.Add GroupKey, CreateObject("System.Collections.ArrayList")
        End If
        dictGroups(GroupKey).Add arrValues(i, 1)
    Next i
    
    ' Rank within each group
    For i = 2 To UBound(arrValues, 1)
        GroupKey = GroupRng.Cells(i, 1).Value
        Dim countLower As Long
        countLower = 0
        For j = 0 To dictGroups(GroupKey).Count - 1
            If dictGroups(GroupKey)(j) < arrValues(i, 1) Then
                countLower = countLower + 1
            End If
        Next j
        arrRanks(i, 1) = countLower + 1
    Next i
    
    ' Output results
    For i = 2 To UBound(arrRanks, 1)
        OutCol.Cells(i, 1).Value = arrRanks(i, 1)
    Next i
    
    MsgBox "Ranking by group completed.", vbInformation, xTitleId
End Sub
  1. Haga clic en Ejecutar. Aparecerá un cuadro de diálogo que le pedirá que seleccione su rango de datos completo, la columna de grupos y la columna de valores. La macro generará entonces una nueva columna con los rangos de cada valor dentro de su grupo.

Notas y resolución de problemas:

  • Asegúrese de que las columnas seleccionadas coincidan con sus datos: las columnas de grupo y de valor deben alinearse correctamente.
  • Si incluye la cabecera de los datos, ajuste el índice inicial del bucle en el código para obtener un rango adecuado según la estructura de sus datos.
  • Para clasificar en orden descendente, modifique la comparación If dictGroups(GroupKey)(j) < arrValues(i,1) en consecuencia.
  • Si recibe advertencias sobre permisos o seguridad de macros, revise la configuración de seguridad de macros de Excel en Archivo > Opciones > Centro de confianza.

Este método VBA ofrece flexibilidad y un rendimiento sólido, ideal para aplicaciones avanzadas o a gran escala, especialmente cuando se integra en flujos de trabajo automatizados de generación de informes.


una captura de pantalla de kutools for excel ia

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.
Potencie sus capacidades en Excel con herramientas impulsadas por inteligencia artificial.Descárguelo ahora¡y experimente una eficiencia como nunca antes!

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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.

ExcelWordOutlookTabsPowerPoint
  • 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