🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Promedio ponderado en Excel — SUMPRODUCT ÷ SUM (y por qué el promedio de promedios miente)

|

Promedio ponderado en Excel — SUMPRODUCT ÷ SUM (y por qué el promedio de promedios miente)

TL;DR — Excel no tiene una función WEIGHTEDAVG; el modismo es =SUMPRODUCT(values, weights)/SUM(weights). SUMPRODUCT multiplica cada valor por su peso y suma los resultados (el total ponderado); dividir entre SUM(weights) convierte ese total de nuevo en un promedio por unidad. Lo necesitas siempre que tus números tengan distinta importancia —notas ponderadas por créditos, precios ponderados por cantidad vendida, rentabilidades ponderadas por importe invertido—. El error que corrige es el fallo de promedio más común que existe: hacer un AVERAGE simple de cifras que resumen cada una un grupo de distinto tamaño, lo que da a un grupo diminuto y a uno enorme la misma voz y produce un número tranquilamente equivocado.

=SUMPRODUCT(B2:B10, C2:C10)/SUM(C2:C10)   ' valores en B, pesos en C
=SUMPRODUCT(Scores, Credits)/SUM(Credits) ' nota media: puntos ponderados por créditos
=SUMPRODUCT(B2:B10, C2:C10)               ' atajo SOLO si los pesos ya suman 1

Nota: en una interfaz de Excel en español, estas funciones aparecen como SUMAPRODUCTO (SUMPRODUCT), SUMA (SUM), PROMEDIO (AVERAGE) y SI.ERROR (IFERROR); el promedio condicional es PROMEDIO.SI.CONJUNTO (AVERAGEIFS). Los códigos de error se muestran localizados: #VALUE! = #¡VALOR! y #DIV/0! = #¡DIV/0!. Las fórmulas de abajo usan los nombres en inglés y coma como separador; en la interfaz en español el separador de argumentos es el punto y coma ;.

La mayoría de páginas que posicionan para «promedio ponderado Excel» te entregan =SUMPRODUCT(...)/SUM(...) y una nota media resuelta, y ahí lo dejan. Pero la fórmula nunca fue lo difícil — la memorizas en un minuto. Lo difícil es saber cuándo un promedio simple está calladamente mal y hace falta uno ponderado, y por qué los dos pueden diferir tanto que cuentan historias opuestas. Ese criterio es lo que salva un informe, así que con eso arranca esta página.

Lo que aprenderás

  • El modelo mental: un peso es cuántos «votos» recibe cada valor
  • Por qué la fórmula es SUMPRODUCT ÷ SUM, término a término
  • El error central: por qué AVERAGE de resúmenes de grupo da la respuesta equivocada
  • El atajo cuando los pesos ya suman 1 (o 100 %)
  • Patrones reales: nota media, rentabilidad de una cartera, precio combinado
  • Las trampas: texto en los rangos, longitudes que no cuadran y un promedio ponderado condicional

El modelo mental: los pesos son votos

Un promedio simple le da a cada valor un voto. Un promedio ponderado deja que cada valor vote en proporción a un peso — una cantidad, un número de personas, un importe en euros, un número de créditos. Un valor con peso 10 tira del resultado diez veces más fuerte que uno con peso 1. Esa es toda la idea; todo lo demás es contabilidad para que los votos se sumen bien.

La contabilidad tiene dos pasos. Primero, multiplica cada valor por su peso y súmalos — eso es SUMPRODUCT(values, weights) (SUMAPRODUCTO), la «influencia» total. Segundo, divide entre el número total de votos, SUM(weights), para devolverlo a la misma escala que un solo valor. Sáltate el segundo paso y tendrás un total ponderado, no un promedio ponderado — un número que crece solo porque tienes más datos, que casi nunca es lo que quieres.

Por qué se divide entre SUM(weights)

Merece la pena ver la aritmética una vez, porque explica todas las variantes que vienen después. Supón tres compras: 2 unidades a 10 $, 3 unidades a 20 $, 5 unidades a 30 $. El precio medio que un cliente pagó de verdad no es (10+20+30)/3 = 20 — eso finge que se compró una unidad a cada precio. Es el dinero total dividido entre las unidades totales:

' Precios en B2:B4 = 10, 20, 30   |   Cantidades en C2:C4 = 2, 3, 5
=SUMPRODUCT(B2:B4, C2:C4)   ' -> 20 + 60 + 150 = 230   (dinero total gastado)
=SUM(C2:C4)                 ' -> 2 + 3 + 5    = 10      (unidades totales compradas)
=SUMPRODUCT(B2:B4,C2:C4)/SUM(C2:C4)  ' -> 230 ÷ 10 = 23  (precio unitario combinado)

El promedio simple es 20; el ponderado es 23, porque se vendieron más unidades al precio más alto. SUMPRODUCT construye el numerador (dinero), SUM construye el denominador (unidades), y el cociente es el precio por unidad que de verdad ocurrió. Todo promedio ponderado tiene esta misma forma de dinero-entre-unidades, sean lo que sean el «dinero» y las «unidades» en cada caso.

El error central: AVERAGE de promedios

Este es el error que los promedios ponderados existen para evitar, y está por todas partes. Supón que tres regiones informan de su valor medio de pedido y quieres la media de toda la empresa:

' Medias regionales en B: 50, 40, 90   |   Recuento de pedidos en C: 300, 250, 3
=AVERAGE(B2:B4)                       ' -> 60    (MAL: cada región cuenta por igual)
=SUMPRODUCT(B2:B4, C2:C4)/SUM(C2:C4)  ' -> 45.6  (BIEN: ponderado por número de pedidos)

El AVERAGE simple dice 60. Pero una región tiene 3 pedidos y otra tiene 300, y la media simple les da un peso idéntico — el valor atípico de 3 pedidos empuja el número de la empresa 14 puntos hacia arriba apoyándose en casi nada. El promedio ponderado, 45,6, refleja dónde están de verdad los pedidos. Siempre que te encuentres promediando números que ya son promedios (o tasas, o cifras por unidad) de grupos que no tienen el mismo tamaño, un AVERAGE simple es casi con seguridad la herramienta equivocada. Pregúntate: ¿representa cada uno de estos números un montón de datos subyacentes de distinto tamaño? Si la respuesta es sí, pondéralos.

El atajo: cuando los pesos ya suman 1

Si tus pesos son proporciones que ya suman 1 (o 100%) —una asignación de activos, una rúbrica de puntuación, una distribución de probabilidad—, entonces SUM(weights) vale 1 y dividir entre él no cambia nada. Puedes quitar el denominador:

' Los pesos en C ya suman 100%: 0.5, 0.3, 0.2
=SUMPRODUCT(B2:B4, C2:C4)   ' -> promedio ponderado directo, sin ÷ necesario

Esta es la forma que verás en las rentabilidades de carteras y en los cuadros de mando ponderados. Una advertencia: solo es válida si los pesos suman de verdad

  1. Si un redondeo perdido los deja en 0,99, el SUMPRODUCT a secas queda mal en silencio. Mantener el /SUM(weights) no cuesta nada y se autocorrige, así que usa la forma completa salvo que estés seguro — nunca puede estar mal.

Patrones reales que merece la pena memorizar

El mismo esqueleto cubre casi todos los trabajos reales:

' Nota media — puntos de calificación ponderados por créditos
=SUMPRODUCT(GradePoints, Credits)/SUM(Credits)

' Rentabilidad de cartera — el rendimiento de cada posición ponderado por su valor en euros
=SUMPRODUCT(Returns, MarketValues)/SUM(MarketValues)

' Tipo de interés combinado entre préstamos de distinto saldo
=SUMPRODUCT(Rates, Balances)/SUM(Balances)

' Puntuación de encuesta ponderada por número de respuestas por grupo
=SUMPRODUCT(GroupScores, Respondents)/SUM(Respondents)

En todos, el segundo rango es la columna de «cuánto importa esta fila». Si sabes nombrar esa columna, sabes escribir el promedio ponderado.

Las trampas: texto, longitud y condiciones

SUMPRODUCT es menos indulgente que AVERAGE. Donde AVERAGE ignora el texto, SUMPRODUCT devuelve #¡VALOR! en cuanto cualquiera de los rangos contiene texto que no puede multiplicar — así que limpia los rangos primero, o fuérzalos con IF/-- si algunas celdas son deliberadamente no numéricas. Los dos rangos también tienen que tener la misma longitud; alturas que no cuadran dan #¡VALOR! porque no hay pareja con la que multiplicar. Y una columna de pesos vacía o toda a cero hace que SUM(weights) sea cero, así que el conjunto devuelve #¡DIV/0! — envuélvelo con IFERROR si es posible.

Para un promedio ponderado condicional —digamos, solo la región «Oeste»— mete la condición dentro de ambos SUMPRODUCT como una matriz (condición) que se evalúa a unos y ceros:

=SUMPRODUCT((Region="West")*Value*Weight)/SUMPRODUCT((Region="West")*Weight)

El término (Region="West") pone a cero todas las filas que no coinciden, tanto en el numerador como en el denominador, así que solo las filas del Oeste aportan — el primo ponderado de AVERAGEIFS, que solo puede hacer una media condicional sin ponderar. Consulta la guía de SUMPRODUCT para ver cómo funciona en general el truco de la condición como matriz.

Cómo ayuda ExcelMaster

La trampa de los promedios ponderados no es escribir SUMPRODUCT/SUM — es darse cuenta de que necesitabas un promedio ponderado, allá cuando ya habías tecleado =AVERAGE(...) sobre una columna de medias regionales. Pídele a ExcelMaster «el valor medio de pedido en todas las regiones» y, al ver que cada fila es a su vez una media de un número distinto de pedidos, escribe la versión ponderada y te dice cuánto se habría desviado la media simple. Di «precio combinado de estas compras» o «mi nota media de este expediente» y monta =SUMPRODUCT(...)/SUM(...) con las columnas de valor y peso correctas ya asignadas.

Preguntas frecuentes

¿Cómo calculo un promedio ponderado en Excel?

Usa =SUMPRODUCT(values, weights)/SUM(weights). SUMPRODUCT multiplica cada valor por su peso y suma los productos (el total ponderado); dividir entre SUM(weights) convierte ese total en un promedio por unidad. Por ejemplo, =SUMPRODUCT(B2:B10, C2:C10)/SUM(C2:C10) promedia los valores de B ponderados por los importes de C.

¿Por qué no usar simplemente AVERAGE?

Porque AVERAGE da a cada valor el mismo peso. Cuando tus números resumen grupos de distinto tamaño —medias regionales, precios por unidad, notas con distintos créditos—, el peso igual deja que un grupo diminuto cuente tanto como uno enorme, produciendo un resultado engañoso. Un promedio ponderado deja que cada valor cuente en proporción a su tamaño.

¿Siempre divido entre SUM(weights)?

Solo cuando los pesos no suman ya 1. Si tus pesos son proporciones que suman 1 (o 100%), SUM(weights) vale 1 y la división no hace nada, así que =SUMPRODUCT(values, weights) por sí solo basta. En la duda, mantén el /SUM(weights) — siempre es correcto y se autocorrige si los pesos no suman exactamente 1.

¿Por qué mi promedio ponderado devuelve #¡VALOR! o #¡DIV/0!?

#¡VALOR! normalmente significa que uno de los rangos contiene texto que SUMPRODUCT no puede multiplicar, o que los rangos de valores y pesos tienen longitudes distintas — deben coincidir celda a celda. #¡DIV/0! significa que SUM(weights) salió cero (una columna de pesos vacía o toda a cero). Limpia los rangos y confirma que los pesos suman un número positivo.

¿Cómo hago un promedio ponderado con una condición?

Mete la condición dentro de ambos SUMPRODUCT como una matriz: =SUMPRODUCT((Region="West")*Value*Weight)/SUMPRODUCT((Region="West")*Weight). El término (Region="West") se convierte en 1 para las filas que coinciden y en 0 en las demás, así que solo esas filas cuentan tanto en el numerador como en el denominador.

Probado en

Probado en: Excel 365 (Windows 11) — última verificación el 27/07/2026.

Guías relacionadas: Excel SUMPRODUCT · Función AVERAGE de Excel · Excel GEOMEAN, TRIMMEAN y HARMEAN · Excel AVERAGEIF y AVERAGEIFS · Excel SUMIFS