TL;DR — Excel no tiene una función
WEIGHTEDAVG; el modismo es=SUMPRODUCT(values, weights)/SUM(weights).SUMPRODUCTmultiplica cada valor por su peso y suma los resultados (el total ponderado); dividir entreSUM(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 unAVERAGEsimple 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é
AVERAGEde 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
- Si un redondeo perdido los deja en
0,99, elSUMPRODUCTa 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
