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

¿Cómo crear una lista dinámica con los 10 primeros o los n primeros elementos en Excel?

AutorXiaoyang Fecha de modificación

En muchos proyectos y procesos empresariales, es habitual necesitar clasificar personas, organizaciones, productos u otras entidades según su rendimiento o valores numéricos. Una “lista de los primeros” permite destacar las entradas con mejor desempeño, como los estudiantes con las calificaciones más altas, los comerciales más eficaces o los departamentos con mayores ingresos. Por ejemplo, si dispone de una tabla con las calificaciones de sus estudiantes, puede querer extraer dinámicamente a los 10 mejores para premiaciones, análisis o seguimiento de resultados educativos, tal como se muestra en la siguiente captura de pantalla. Crear una lista dinámica de los 10 primeros —o de los N primeros— en Excel le permite obtener resultados actualizados automáticamente cada vez que cambien sus datos, ahorrando tiempo y evitando errores derivados de la clasificación manual. Esta guía ofrece diversas soluciones prácticas —incluidas fórmulas, tablas dinámicas y macros VBA— para ayudarle a construir una lista dinámica de los 10 primeros (o de los N primeros) que responda eficazmente a distintas necesidades de análisis de datos.


Crear una lista dinámica de los 10 primeros en Excel

En Excel 2019 y versiones anteriores, crear una lista dinámica de los 10 primeros (o de los N primeros) requiere combinar fórmulas para extraer simultáneamente tanto los valores más altos como sus nombres o identificadores asociados. Esta solución es ampliamente utilizada y resulta ideal cuando se desea que la lista se actualice automáticamente al modificar los datos. A continuación, se explican los pasos necesarios para lograrlo mediante fórmulas clásicas de Excel. Estas fórmulas ofrecen gran flexibilidad y no necesitan complementos especiales, aunque su configuración es algo más compleja en comparación con las funciones modernas de matrices dinámicas.

Fórmulas para crear una lista dinámica de los 10 primeros

1. Para empezar, extraiga los 10 valores más altos de su rango. Introduzca la siguiente fórmula en una celda vacía (por ejemplo, G2). A continuación, arrastre el controlador de relleno hacia abajo para generar una lista dinámica con los 10 valores más altos. Vea la captura de pantalla:

=LARGE($B$2:$B$20,ROWS(B$2:B2))
Nota: Aquí,B2:B20es el rango de puntuaciones o valores, y B2es la primera celda de dicha columna. Ajuste estas referencias de celda según el tamaño y la ubicación de sus datos.

aplicar una fórmula para extraer los 10 valores principales

2. A continuación, para mostrar los nombres (o identificadores) correspondientes a esos valores más altos, introduce la siguiente fórmula en la celda F2. Se trata de una fórmula matricial, por lo que, tras introducirla, debes pulsar Ctrl + Mayús + Entrar para confirmarla. Esta fórmula busca los nombres asociados a los valores más altos que acabas de extraer:

=INDEX($A$2:$A$20,SMALL(IF($B$2:$B$20=G2,ROW($B$2:$B$20)-ROW($B$1)),COUNTIF($G$2:G2,G2)))
Explicación de parámetros:
-A2:A20es el rango del que extraer los nombres;
-B2:B20es el rango de puntuaciones o valores;
-G2es el valor superior de la fórmula anterior;
-B1es el encabezado de la lista de valores y se utiliza para el desplazamiento en los cálculos de FILA.
Esta fórmula vincula dinámicamente los valores más altos con sus nombres. Si su rango de valores contiene duplicados, CONTAR.SI garantiza que cada nombre coincidente aparezca una sola vez junto con su puntuación.

usar una fórmula para obtener el elemento relativo

3. Tras extraer el primer resultado, seleccione la fórmula de la celda F2 y arrastre el controlador de relleno hacia abajo para copiarla en tantas filas como necesite. Así ampliará su resultado y mostrará dinámicamente los nombres de todas las entradas principales que coincidan con esas puntuaciones. Vea la captura de pantalla:

arrastrar y rellenar la fórmula en otras celdas

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!

Fórmulas para crear una lista dinámica de los 10 primeros con criterios

En ciertas tareas de análisis, es posible que necesite una lista de los primeros puestos que incluya únicamente las entradas que cumplan criterios específicos, como limitar los resultados a un grupo, equipo o categoría determinados. Por ejemplo, podría querer identificar las 10 puntuaciones más altas exclusivamente de la «Clase 1» en una hoja de datos que contiene calificaciones de varias clases. A continuación se explica cómo usar fórmulas para este escenario:

crear una lista dinámica de los 10 primeros con criterios

1. Empiece extrayendo los 10 valores más altos que cumplan su criterio especificado (por ejemplo, «Clase 1») del conjunto de datos. Introduzca esta fórmula en la celda de destino (por ejemplo, J2):

=LARGE(IF($B$2:$B$25=$F$2,$C$2:$C$25),ROW(I2)-ROW(I$1))

2. Tras introducir la fórmula, pulse Ctrl + Mayús + Entrar para confirmarla como fórmula matricial y, a continuación, arrastre el controlador de relleno hacia abajo para rellenar las demás celdas. La fórmula devolverá las 10 puntuaciones más altas que coincidan con su condición elegida (p. ej., todas las puntuaciones de la «Clase 1»).

aplicar una fórmula para extraer los 10 valores principales según criterios

3. Para enumerar los nombres correspondientes a estos valores superiores según sus criterios, copie y pegue la fórmula siguiente en la celda I2 y pulse Ctrl + Mayús + Entrar como fórmula matricial. A continuación, rellene hacia abajo según sea necesario para generar la lista completa de nombres.

=INDEX($A$2:$A$25,SMALL(IF(($C$2:$C$25=J2)*($B$2:$B$25=$F$2),ROW($C$2:$C$25)-ROW($C$1)),COUNTIF(J2:$J$2,J2)))

usar una fórmula para crear una lista dinámica de los 10 primeros en Office365

Asegúrese de ajustar los rangos en las fórmulas para que coincidan con la configuración real de sus datos. Tenga en cuenta que utilizar rangos amplios con fórmulas matriciales puede ralentizar el rendimiento. Si hay valores duplicados en su lista de los 10 mejores, la fórmula gestionará adecuadamente las puntuaciones repetidas y mostrará varios nombres de alumnos cuando sus calificaciones sean iguales.


Crear una lista dinámica de los 10 primeros en Office 365

Mientras que las versiones anteriores de Excel exigían combinar varias funciones mediante fórmulas matriciales, Office 365 (y Excel 2021) incorpora funciones de matriz dinámica —como ÍNDICE, ORDENAR, SECUENCIA y FILTRAR— que simplifican notablemente el flujo de trabajo. Estas funciones facilitan la creación de listas dinámicas de los 10 primeros, reducen errores y resultan especialmente útiles para tablas que crecen o cambian con frecuencia. Si trabaja en un entorno con datos en constante actualización, estas herramientas agilizan su análisis y le permiten tomar decisiones empresariales más rápidas.

Fórmula para crear una lista dinámica de los 10 primeros

Para extraer y mostrar una lista dinámica de los 10 primeros en Office 365, introduzca la siguiente fórmula en la celda de destino que desee. Solo tiene que ajustar los rangos y los números según sus necesidades, y la fórmula actualizará automáticamente los 10 primeros resultados cada vez que cambien sus datos.

=INDEX(SORT(A2:B20,2,-1),SEQUENCE(10),{1,2})

Simplemente pulse la tecla Entrar. Al instante aparecerá la lista completa de los 10 primeros y permanecerá dinámica, de modo que cualquier dato adicional o puntuación modificada se reflejará inmediatamente en la clasificación.

usar una fórmula para crear una lista dinámica de los 10 primeros en Office365

Consejos:

Función ORDENAR:

=ORDENAR(matriz; [índice_ordenación]; [orden_ordenación]; [por_columna])

  • matriz: El rango que deseas ordenar.
  • [índice_ordenación]: Número de la columna por la que se ordena. En una tabla típica de calificaciones, suele ser la segunda columna.
  • [orden_ordenación]: Use 1 para orden ascendente o -1 para descendente. Para obtener las puntuaciones más altas, utilice -1.
  • [por_columna]: Indica si la ordenación se realiza por columnas (VERDADERO) o por filas (FALSO u omitido).

Por ejemplo: ORDENAR(A2:B20;2;-[PH_77]]) ordena el rango A2:B20 por la segunda columna en orden descendente.


Función SECUENCIA:

=SECUENCIA(filas; [columnas]; [inicio]; [paso])

  • filas: Número de filas que se deben devolver; por ejemplo, 10 para obtener una lista con los 10 primeros.
  • [columnas]: (Opcional) Número de columnas que se deben devolver.
  • [inicio]: (Opcional) Valor inicial.
  • [paso]: (Opcional) Valor en el que se incrementa.

SECUENCIA(10) genera los números del 1 al 10, lo que permite a ÍNDICE seleccionar los 10 primeros resultados ordenados.

Combinando ambas, =ÍNDICE(ORDENAR(A2:B20;2;-1);SECUENCIA(10);{1;2}) le proporciona una lista dinámica de dos columnas con los 10 primeros.


Fórmula para crear una lista dinámica de los 10 primeros con criterios

Si necesita extraer los 10 primeros elementos de un grupo específico, como «Clase 1», estas funciones avanzadas de Office 365 pueden generar una lista de los N primeros que incluya únicamente las filas que cumplan sus criterios. Coloque la fórmula siguiente en la ubicación deseada y ajuste los rangos y la celda de criterios según sea necesario:

=INDEX(SORT(FILTER(A2:C25,B2:B25=F2),3,-1),SEQUENCE(10),{1,3})

Después de introducir la fórmula, pulse simplemente la tecla Entrar. ¡La lista de los 10 primeros, filtrada y ordenada exclusivamente según el criterio especificado, aparece al instante y se actualiza automáticamente cada vez que modifique sus datos o el criterio!

otra fórmula para crear una lista dinámica de los 10 primeros con criterios en Office365

Consejos:

Función FILTRAR:

=FILTRAR(matriz; incluir; [si_vacío])

  • matriz: El rango de celdas que se va a filtrar.
  • Incluir: la condición (p. ej., igual a una clase determinada) para la inclusión.
  • [si_vacío]: (Opcional) Lo que se mostrará si ningún resultado cumple los criterios.

=FILTRAR(A2:C25;B2:B25=F2) devuelve únicamente las filas en las que la columna B coincide con el valor de F2.


Crear una lista dinámica de los 10 primeros con un Tabla Dinámica

Tabla Dinámica: Mostrar automáticamente los N primeros resultados de forma interactiva

Una forma alternativa de crear una lista dinámica de los N primeros consiste en utilizar la función de tabla dinámica de Excel. Este método resulta especialmente adecuado para conjuntos de datos grandes, análisis interactivos —como cambiar rápidamente el número de elementos principales o aplicar filtros— o cuando se desea evitar fórmulas complejas. Las tablas dinámicas son intuitivas y se actualizan automáticamente al modificar los datos, lo que las convierte en la opción ideal para cuadros de mando o informes compartidos con otras personas.

Para crear una lista dinámica de los N primeros mediante una Tabla Dinámica:

  1. Haga clic en cualquier lugar dentro de su tabla de datos y vaya a Insertar > Tabla dinámica.
  2. En el cuadro de diálogo de Tabla dinámica, elija dónde desea colocar la tabla dinámica y haga clic en Aceptar.
  3. Arrastre el campo «Nombre» (o un identificador similar) al área de Filas.
  4. Arrastre la columna «Puntuación» (o la columna de valores) al área de Valores. Por defecto, normalmente aparecerá como «Suma de» o «Recuento de»; para listas de los primeros puestos, generalmente querrá «Suma» o «Máx». Si es necesario, cambie el cálculo del campo de valores haciendo clic con el botón derecho y seleccionando Resumir valor por.
  5. Ordene la columna «Puntuación» en orden descendente haciendo clic con el botón derecho en un valor y seleccionando Ordenar > Ordenar de mayor a menor.
  6. Para limitar a los N primeros resultados, haga clic en la flecha desplegable de Etiquetas de fila, seleccione Filtros de valor > Primeros 10..., establezca el número (por ejemplo, Primeros 10) y el campo por el que filtrar, y luego haga clic en Aceptar.

Su Tabla Dinámica muestra ahora los 10 primeros elementos dinámicos (o cualquier valor N que especifique). Para modificar N, simplemente regrese a la configuración del filtro. Si sus datos cambian, actualice la Tabla Dinámica para renovar al instante la clasificación.

Las ventajas de este enfoque incluyen una configuración rápida, una ordenación sencilla y un ajuste interactivo. No obstante, las Tabla Dinámica no pueden añadir automáticamente filas correspondientes de otras columnas a menos que se incluyan en el área de Filas o Valores. Los usuarios avanzados pueden personalizar aún más los informes agrupando datos, creando segmentaciones o integrando el filtro de los N primeros en cuadros de mando.


Crear una lista dinámica de los 10 primeros mediante VBA

Macro VBA: Genera y actualiza automáticamente una lista de los N primeros

El uso de una macro de VBA es ideal para usuarios que trabajan con datos extensos o que se actualizan frecuentemente y necesitan automatizar la extracción y actualización de una lista dinámica de los N primeros. Las macros son perfectas para eliminar tareas repetitivas y garantizar coherencia. Puede crear una rutina que ordene sus datos y copie únicamente las N primeras filas a una ubicación específica cada vez que se ejecute.

Para utilizar una macro de VBA y crear una lista dinámica de los N primeros, siga estos pasos:

  1. Haga clic en Programador > Visual Basic para abrir el editor de VBA. (Si no ve la pestaña Programador, vaya a Archivo > Opciones > Personalizar cinta de opciones y active «Programador».)
  2. En la ventana de VBA, haga clic en Insertar > Módulo para añadir un nuevo módulo.
  3. Pegue el siguiente código VBA en el módulo:
Sub ExtractTopNList()
'Updated by Extendoffice 2025/7/24
    Dim DataRange As Range
    Dim OutputRange As Range
    Dim N As Integer
    Dim ws As Worksheet, tempWS As Worksheet
    Dim xTitleId As String
    Dim LastCol As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = ActiveSheet
    Set DataRange = Application.InputBox("Select the full data range to analyze (including headers)", xTitleId, ws.UsedRange.Address, Type:=8)
    Set OutputRange = Application.InputBox("Select the top-left cell of the output area", xTitleId, "", Type:=8)
    N = Application.InputBox("How many top items to extract? (Enter a positive integer)", xTitleId, 10, Type:=1)
    
    If DataRange Is Nothing Or OutputRange Is Nothing Or N < 1 Then Exit Sub
    
    ' Create a temporary worksheet to avoid sorting original data
    Set tempWS = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    DataRange.Copy tempWS.Range("A1")
    
    ' Determine last column for sorting key
    LastCol = DataRange.Columns.Count
    
    ' Sort in temporary sheet
    tempWS.UsedRange.Sort Key1:=tempWS.Cells(1, LastCol), Order1:=xlDescending, Header:=xlYes
    
    ' Copy headers and top N rows to output
    tempWS.Rows(1).Copy Destination:=OutputRange
    tempWS.Range("A2").Resize(N, LastCol).Copy Destination:=OutputRange.Offset(1, 0)
    
    ' Optional: Delete temporary sheet
    Application.DisplayAlerts = False
    tempWS.Delete
    Application.DisplayAlerts = True
    
    Application.CutCopyMode = False
End Sub

4. Para ejecutar la macro, asegúrese de que sus datos estén correctamente organizados en una tabla con encabezados. Pulse F5 o haga clic en el botón Botón Ejecutar en el editor de VBA. Se le pedirá que:

  1. Seleccione su rango de datos (incluyendo los encabezados para garantizar una ordenación correcta).
  2. Seleccione la celda de destino en la que desea pegar los resultados.
  3. Introduzca el número N (por ejemplo, 10 para obtener los primeros 10).

La macro copiará las N primeras entradas (incluidos los encabezados) en la ubicación que usted haya especificado.

Es recomendable utilizar este procedimiento en una copia de seguridad o en una copia de su libro la primera vez que lo pruebe. Si se producen errores (por ejemplo, al seleccionar un rango incorrecto), vuelva a ejecutarlo y asegúrese de que los rangos y la disposición de los datos sean correctos.

Esta solución es ideal para automatizar tareas repetitivas como la generación de informes, la creación de cuadros de mando o la actualización rápida de informes de los N primeros, sin necesidad de recurrir a fórmulas manuales ni ordenaciones. Además, puede personalizar aún más el script de VBA para implementar lógicas de clasificación más complejas, como ordenar por una columna específica o exportar los resultados a otro libro.

Resolución de problemas: Si la macro no funciona como esperaba, asegúrese de que su tabla de datos incluya encabezados adecuados, corrija los tipos de datos para evitar problemas al ordenar y verifique que las referencias de celda se seleccionen con precisión en cada solicitud. Guarde siempre su trabajo antes de ejecutar macros para evitar cambios accidentales en los datos.


En resumen, Excel ofrece diversos métodos para crear y mantener una lista dinámica de los N primeros: desde fórmulas tradicionales hasta potentes funciones de Office 365, tablas dinámicas para análisis interactivos y macros de VBA para automatización avanzada. Elija el enfoque que mejor se adapte a su flujo de trabajo y al volumen de sus datos. Las fórmulas son ideales para la mayoría de los análisis manuales; las funciones de Office 365 brindan la máxima simplicidad y potencia; las tablas dinámicas destacan por su flexibilidad y rapidez al generar resúmenes; y VBA resulta especialmente útil para automatizar tareas repetitivas y extensas de clasificación. Verifique siempre la integridad de sus fórmulas o código, y ajuste las referencias de celda para que se mantengan alineadas con cualquier cambio en la estructura de sus datos a medida que evolucione su proyecto.


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