Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo calcular el promedio de un rango dinámico en Excel?

Author Kelly Last modified

En Excel, a menudo puede ser necesario calcular el promedio de un rango que no es fijo, sino que puede cambiar dinámicamente, como basado en valores de entrada, criterios actualizados o al analizar datos que crecen o cambian continuamente. Esto es común en informes, cuadros de mando o siempre que se necesite la agregación de datos basada en condiciones flexibles. Afortunadamente, Excel proporciona múltiples métodos prácticos, desde fórmulas hasta herramientas avanzadas, para calcular el promedio de un rango dinámico, cada uno adecuado para escenarios específicos. A continuación, encontrará varios enfoques para calcular dichos promedios, junto con explicaciones sobre su valor, situaciones aplicables y consejos de operación.


Método 1: Calcular el promedio de un rango dinámico en Excel

Las fórmulas son un enfoque versátil para calcular el promedio de un rango dinámico cuando el punto inicial o final de tu rango cambia con frecuencia, como ocurre a menudo con las ventas mensuales o los totales acumulativos. Al permitir que una celda de entrada determine el límite del rango dinámico, puedes adaptarte rápidamente a los datos actualizados sin tener que reescribir tu fórmula.

Para configurar esto, selecciona una celda en blanco, como la celda C4, e introduce la siguiente fórmula:

=IF(C2=0,"NA",AVERAGE(A2:INDEX(A:A,C2)))

Luego presiona la tecla Enter para ver el promedio resultante.

The cell with number which equals to row number of last cell of the dynamic range

Formula entered in C4

Esta fórmula ajusta automáticamente el rango para incluir todas las celdas desde A2 hasta la fila indicada por C2, de modo que cuando el valor de C2 cambia, también lo hace el rango promediado. Esto lo hace flexible para extender o contraer dinámicamente el rango de promedio según lleguen nuevos datos o desees analizar un subconjunto específico.

Notas:

(1) En esta fórmula =IF(C2=0,"NA",AVERAGE(A2:INDEX(A:A,C2))): A2 representa la primera celda del rango a promediar, y C2 se refiere a la celda que contiene el número de fila de la última celda del rango objetivo. Modifica estas referencias según tu estructura de datos según sea necesario. Asegúrate de que la celda C2 se refiera a una fila válida; de lo contrario, obtendrás resultados inesperados o "NA".

(2) Como alternativa, puedes usar:

=AVERAGE(INDIRECT("A2:A"&C2))

Este método es igualmente efectivo ya que crea una referencia de texto para el rango, que INDIRECT interpreta dinámicamente. Sin embargo, ten cuidado al usar INDIRECT con libros cerrados o conjuntos de datos grandes, ya que puede afectar la velocidad de cálculo y no es tan eficiente como INDEX para datos volátiles.

Consejo práctico: Cuando tus datos crecen continuamente (como añadir nuevas filas todos los días), puedes usar una función COUNTA o COUNT para establecer automáticamente la referencia de la celda límite superior, lo que asegura que tu rango dinámico siempre cubra las entradas más recientes.

Escenarios aplicables: Registros diarios de datos, entradas de series temporales o cualquier análisis donde el inicio o el final del rango esté guiado por la entrada del usuario o una celda de resumen. Ventajas: Directo, no requiere herramientas adicionales. Limitación: Necesita ajuste manual de la fórmula si las ubicaciones de las filas cambian drásticamente.


Calcular el promedio de un rango dinámico basado en criterios

Para situaciones donde tu rango dinámico está definido no por posición sino por criterios específicos (como región, categoría o etiqueta definida por el usuario), puedes combinar rangos dinámicos con funciones como INDIRECT para adaptar tus cálculos. Esto es especialmente útil para cuadros de mando donde los usuarios seleccionan de un menú desplegable y ven instantáneamente los promedios relacionados.

Different averages based on different criteria

Primero, agrupa tu conjunto de datos por filas o columnas de encabezado. Aquí está cómo hacerlo:

1. Selecciona toda el área (como A1:D11), y haz clic en Crear nombres a partir de selección botón Create names from selection button en el Administrador de nombres panel. En el cuadro de diálogo emergente, marca ambas opciones Fila superior y Columna izquierda opciones, luego haz clic en Aceptar. Este paso asigna nombres de rango a los datos en filas y columnas automáticamente, lo que simplifica la referencia en fórmulas.

Name manager pane

2. En tu celda en blanco elegida, introduce esta fórmula:

=AVERAGE(INDIRECT(G2))

Aquí, G2 es la celda de criterios donde los usuarios escriben o seleccionan el nombre del encabezado de fila o columna. Cuando G2 cambia (por ejemplo, de "Región1" a "Región2"), la fórmula calcula dinámicamente el promedio para el rango correspondiente. Asegúrate siempre de que las entradas en G2 coincidan exactamente con los nombres definidos (incluida la sensibilidad a mayúsculas y minúsculas) para evitar errores #REF!.

Formula entered in a cell

Ideal para: Cuadros de mando de informes, análisis impulsados por criterios. Ventajas: Permite informes dinámicos muy flexibles o análisis de una sola celda mediante la interacción del usuario. Limitación: Depende de una gestión adecuada de nombres y valores de entrada consistentes.

Contar/Sumar/Promediar celdas automáticamente por color de relleno en Excel

A veces marcas celdas por color de relleno y luego cuentas/sumas estas celdas o calculas su promedio más tarde. La utilidad Contar por Color de Kutools para Excel puede ayudarte a resolverlo con facilidad.


Kutools' Count by Color interface

Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora


Código VBA: Calcular el promedio de un rango dinámico con una macro

Para comportamientos dinámicos avanzados, como promediar las últimas N filas, promediar basado en múltiples criterios dinámicos o incluso combinar datos de varias hojas, puedes crear una macro VBA personalizada. Este método es particularmente útil cuando las fórmulas integradas se vuelven demasiado complejas para tu escenario o cuando necesitas automatización que se adapte a estructuras que cambian con frecuencia.

Por ejemplo, es posible que desees calcular el promedio de las últimas N filas en la columna A, donde N lo ingresa el usuario, o promediar valores de rangos no contiguos especificados por el usuario.

1. Ve a Herramientas de Desarrollo > Visual Basic para abrir el editor de Microsoft Visual Basic para Aplicaciones. Luego selecciona Insertar > Módulo y pega el siguiente código VBA:

Sub DynamicAverage_LastNRows()
    Dim ws As Worksheet
    Dim rng As Range
    Dim lastRow As Long
    Dim N As Long
    Dim result As Double
    Dim xTitleId As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = Application.ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    N = Application.InputBox("How many last rows to average?", xTitleId, 5, Type:=1)
    
    If N <= 0 Or N > lastRow - 1 Then
        MsgBox "Invalid input for N!", vbExclamation
        Exit Sub
    End If
    
    Set rng = ws.Range("A" & lastRow - N + 1, "A" & lastRow)
    result = Application.WorksheetFunction.Average(rng)
    
    MsgBox "Average of the last " & N & " rows in column A: " & result, vbInformation
End Sub

2. Haz clic en el Run button botón para ejecutar la macro. En el cuadro de diálogo emergente, introduce el número de las últimas filas que deseas promediar (como 5, 10, etc.) y presiona Aceptar. El resultado aparecerá en un cuadro de mensaje.

Para promediar con condiciones más complejas (por ejemplo, basadas en criterios o de múltiples hojas), puedes adaptar el código VBA en consecuencia, por ejemplo, agregando InputBoxes para un valor de criterio o recorriendo varias hojas de trabajo para combinar rangos antes de promediar.

Este enfoque ofrece la máxima flexibilidad y puede automatizar cálculos de promedio dinámicos complejos o repetitivos. Sin embargo, asegúrate de habilitar macros y usar este método en un libro de trabajo confiable para evitar riesgos de seguridad. Guarda tu trabajo antes de ejecutar nuevas macros y considera crear copias de seguridad al automatizar cambios.

Ventajas: Permite la automatización, maneja escenarios de datos complejos o grandes, se puede personalizar para una lógica empresarial muy específica. Desventajas: Requiere un conocimiento básico de VBA y los procedimientos deben mantenerse si cambia la estructura.


Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado 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 identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar 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 | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

Mejora tu dominio de 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 incorpora la interfaz de pestañas en 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 hacerlo en ventanas separadas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!

Todos los complementos de Kutools. Un solo instalador

El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.

Excel Word Outlook Tabs PowerPoint
  • Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
  • Mejor juntos: productividad optimizada en todas las aplicaciones de Office
  • Prueba completa de30 días: sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos