Skip to main content

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

¿Cómo calcular el promedio ponderado en Excel?

Author Kelly Last modified

Los promedios ponderados se utilizan comúnmente en escenarios donde diferentes elementos contribuyen de manera desigual al resultado general. Por ejemplo, al analizar una lista de compras que incluye precios de productos, pesos y cantidades, usar la función PROMEDIO normal en Excel solo calcularía la media aritmética simple, ignorando con qué frecuencia o intensidad aparecen los artículos. Sin embargo, en muchos casos empresariales o de presupuesto, es posible que necesites calcular un promedio ponderado, como el precio promedio por unidad considerando las cantidades o pesos, para que el impacto de cada artículo sea proporcional a su importancia. Este artículo cubrirá cómo calcular promedios ponderados en Excel, incluidas situaciones con criterios específicos, así como técnicas avanzadas usando VBA y Tablas Dinámicas para requisitos más dinámicos o complejos.

Calcular el promedio ponderado en Excel

Calcular el promedio ponderado si se cumplen criterios dados en Excel

Código VBA – Automatizar el cálculo del promedio ponderado para rangos dinámicos o múltiples criterios


Calcular el promedio ponderado en Excel

Supongamos que tienes una lista de compras como se muestra en la captura de pantalla a continuación. Aunque la función PROMEDIO de Excel te daría el precio medio sin tener en cuenta el peso o la cantidad, un enfoque más preciso en estos casos es calcular el promedio ponderado. Esto refleja mejor el costo real por unidad al dar mayor influencia a los artículos con mayores pesos o frecuencias en el resultado final.

a screenshot showing the original data

Para calcular el precio promedio ponderado, utiliza una combinación de las funciones SUMAPRODUCTO y SUMA de la siguiente manera:

Selecciona una celda en blanco, como F2, e introduce la siguiente fórmula:

=SUMPRODUCT(C2:C18,D2:D18)/SUM(C2:C18)

y presiona la tecla Intro para obtener el resultado.

a screenshot showing how to use the formula to calculate weighted average

Nota: En esta fórmula, C2:C18 se refiere a la columna Peso, y D2:D18 se refiere a la columna Precio. Ajusta estos rangos según sea necesario para tu propio diseño de datos. La función SUMAPRODUCTO multiplica cada peso por el precio correspondiente y suma los resultados, mientras que SUMA totaliza los pesos, produciendo el promedio ponderado correcto. Asegúrate de usar rangos de igual longitud y de que no haya celdas desiguales o vacías en tus datos, ya que esto podría provocar errores de cálculo.

Si el promedio ponderado calculado muestra demasiados o muy pocos decimales para tu preferencia, selecciona la celda, luego haz clic en el botón Aumentar Decimales botón a screenshot of the Increase Decimal button o Disminuir Decimales botón a screenshot of the Decrease Decimal button en la Inicio pestaña para ajustar los decimales mostrados según sea necesario.

a screenshot of selecting one of the decimal type

Si encuentras un error como #¡VALOR!, verifica que cada celda referenciada contenga un valor numérico y que los rangos sean consistentes. Además, evita incluir cualquier fila de encabezado en tu rango de cálculo para asegurar resultados precisos. Al trabajar con conjuntos de datos más grandes, considera usar rangos con nombres para mayor claridad y facilidad de mantenimiento.


Calcular el promedio ponderado si se cumplen criterios dados en Excel

La fórmula anterior calcula el precio promedio ponderado para todos los artículos. En análisis prácticos, podrías querer el promedio ponderado para categorías específicas, como encontrar el precio promedio ponderado solo para Manzanas. En tales casos, puedes mejorar la fórmula para incluir una condición basada en tus criterios.

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

=SUMPRODUCT((B2:B18="Apple")*C2:C18*D2:D18)/SUMIF(B2:B18,"Apple",C2:C18)

Luego presiona la tecla Intro para calcular el promedio ponderado que cumple con tus criterios específicos. Esta fórmula multiplica cada par de peso y precio solo si el artículo coincide con la condición (“Manzana” en este caso), los suma y divide por la suma de los pesos solo para ese artículo.

a screenshot showing how to use formula to calculate weighted average if meeting given criteria

Nota: Aquí, B2:B18 es la columna Fruta, C2:C18 es el Peso y D2:D18 es el Precio. Reemplaza “Manzana” por otro artículo según sea necesario. Este método funciona bien para filtrar por una condición; si necesitas filtrar por varios criterios (por ejemplo, tipo de fruta y proveedor), puede ser necesario una columna auxiliar o una fórmula más avanzada.

Después de aplicar la fórmula, podrías querer ajustar los decimales para mayor claridad. Selecciona la celda de resultado y usa los botones Aumentar Decimales a screenshot of the Increase Decimal button o Disminuir Decimales a screenshot of the Decrease Decimal button2 en la Inicio pestaña para cambiar los decimales mostrados.

a screenshot of selecting one of the decimal type2

Si la fórmula devuelve un resultado inesperado, confirma que los criterios tienen coincidencias dentro de tu rango objetivo y ten cuidado con celdas vacías o entradas de texto en columnas destinadas a ser numéricas.


Código VBA – Automatizar el cálculo del promedio ponderado para rangos de datos dinámicos o múltiples criterios

En algunas situaciones, es posible que necesites calcular promedios ponderados sobre rangos que cambian de tamaño, contienen valores faltantes o requieren filtrado flexible, como aplicar varios criterios a la vez. En lugar de actualizar manualmente fórmulas o rangos, automatizar el cálculo con una macro VBA puede ahorrarte tiempo y reducir las posibilidades de errores, especialmente útil cuando se trata de grandes conjuntos de datos o aquellos que se actualizan regularmente.

Aquí está cómo crear y usar una macro VBA para promedios ponderados:

1. Haz clic en Desarrollador > Visual Basic (o presiona Alt + F11) para abrir la ventana del editor de Microsoft Visual Basic para Aplicaciones. Luego, haz clic en Insertar > Módulo, y pega el siguiente código en la nueva ventana de módulo:

Sub WeightedAverageVBA()
    Dim rngCriteria As Range
    Dim rngWeight As Range
    Dim rngValue As Range
    Dim criteriaStr As String
    Dim totalWeighted As Double
    Dim totalWeight As Double
    Dim i As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rngCriteria = Application.InputBox("Select the range for criteria (optional, press Cancel to skip):", xTitleId, Type:=8)
    criteriaStr = Application.InputBox("Enter criteria for filtering (leave blank for all):", xTitleId, Type:=2)
    Set rngWeight = Application.InputBox("Select the Weight (numeric) range:", xTitleId, Type:=8)
    Set rngValue = Application.InputBox("Select the Value (e.g. Price) range:", xTitleId, Type:=8)
    
    totalWeighted = 0
    totalWeight = 0
    
    If rngCriteria Is Nothing Or criteriaStr = "" Then
        For i = 1 To rngWeight.Cells.Count
            If IsNumeric(rngWeight.Cells(i).Value) And IsNumeric(rngValue.Cells(i).Value) Then
                totalWeighted = totalWeighted + rngWeight.Cells(i).Value * rngValue.Cells(i).Value
                totalWeight = totalWeight + rngWeight.Cells(i).Value
            End If
        Next i
    Else
        For i = 1 To rngWeight.Cells.Count
            If rngCriteria.Cells(i).Value = criteriaStr Then
                If IsNumeric(rngWeight.Cells(i).Value) And IsNumeric(rngValue.Cells(i).Value) Then
                    totalWeighted = totalWeighted + rngWeight.Cells(i).Value * rngValue.Cells(i).Value
                    totalWeight = totalWeight + rngWeight.Cells(i).Value
                End If
            End If
        Next i
    End If
    
    If totalWeight = 0 Then
        MsgBox "Weighted average cannot be calculated: total weight is zero.", vbExclamation, xTitleId
    Else
        MsgBox "Weighted average: " & totalWeighted / totalWeight, vbInformation, xTitleId
    End If
End Sub

2. Presiona F5 (o haz clic en el Run button Ejecutar botón) para ejecutar.
Se te pedirá que selecciones los rangos paso a paso (rango de criterios —esto puede omitirse si no es necesario, rango de pesos y rango de valores). También puedes ingresar criterios específicos para filtrar tu cálculo o dejarlo en blanco para considerar todos los datos. La macro soporta rangos de datos dinámicos, lo que la hace práctica si tu tabla crece o cambia regularmente.

Finalmente, obtendrás un cuadro de mensaje que enumera el resultado del promedio ponderado.

Consejos:

  • Este enfoque automatiza el análisis repetitivo del promedio ponderado y puede ampliarse para manejar opciones adicionales de filtrado u salida.
  • Asegúrate de que los rangos seleccionados sean de igual longitud y que los tipos de datos sean consistentes.
  • Incluye manejo básico de errores como se muestra (por ejemplo, en casos donde no se encuentran pesos válidos o la suma de pesos es cero).
  • Si deseas aplicarlo solo a filas visibles/filtradas, puedes mejorar aún más el código con la enumeración especial de celdas.

Si encuentras problemas de permisos o seguridad de macros, asegúrate de que las macros estén habilitadas en la configuración de Excel antes de ejecutar el código.


Artículos relacionados:


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