Aprender Excel
ES
Define cómo se ven los números, las fechas y las fórmulas, para que todo funcione como en tu propio Excel.

Inicio › Funciones de Excel › SUMAPRODUCTO

Función SUMAPRODUCTO en Excel, con ejemplos

SUMAPRODUCTO multiplica rangos fila a fila y suma los resultados. Cantidad × precio de un pedido entero en una sola celda es el uso clásico, pero SUMAPRODUCTO también suma y cuenta con condiciones, incluida la lógica O que SUMAR.SI.CONJUNTO no puede hacer. En el Excel en inglés, la función se llama SUMPRODUCT.

En esta guía
  1. Sintaxis de SUMAPRODUCTO
  2. Ejemplo básico
  3. Pruébalo tú mismo
  4. Sumar con condiciones
  5. Contar con condiciones
  6. Condiciones O
  7. Promedio ponderado
  8. Errores comunes
  9. Preguntas frecuentes

Sintaxis de SUMAPRODUCTO

=SUMAPRODUCTO(matriz1; [matriz2]; [matriz3]; …)

Todas las matrices tienen que tener el mismo tamaño. Excel multiplica los primeros valores de cada matriz, después los segundos, y así sucesivamente, y devuelve el total.

Ejemplo básico: total de un pedido

ABCD
1ProductoCant.PrecioRegión
2Bolígrafos101,50Norte
3Cuadernos43,25Sur
4Carpetas62,00Norte
5Rotuladores81,75Este
6Grapadoras27,50Sur
=SUMAPRODUCTO(B2:B6; C2:C6)

Excel calcula 10×1,50 + 4×3,25 + 6×2,00 + 8×1,75 + 2×7,50 = 15 + 13 + 12 + 14 + 15 = 69. Sin SUMAPRODUCTO necesitarías una columna auxiliar con =B2*C2 y luego una SUMA.

Practica SUMAPRODUCTO: pruébalo tú mismo

Leer es una cosa y escribirlo es otra. Construye la fórmula de abajo paso a paso: las pistas te dicen qué escribir, y puedes hacer clic en las celdas o arrastrar sobre ellas para añadirlas, igual que en Excel.

Tarea: Calcula el valor total del pedido (cantidad por precio) en D2: =SUMAPRODUCTO(A2:A5;B2:B5)

Sumar con una condición

Pon una comparación entre paréntesis. Devuelve VERDADERO o FALSO para cada fila, y al multiplicar se convierten en 1 y 0. Las filas que no coinciden se multiplican por 0 y desaparecen del total.

=SUMAPRODUCTO((D2:D6="Norte") * B2:B6 * C2:C6)

Solo los bolígrafos y las carpetas son del Norte: 15 + 12 = 27.

Añade más condiciones multiplicando más paréntesis: (D2:D6="Sur") * (B2:B6>3) significa Sur y más de 3.

Contar con condiciones

Quita los valores y SUMAPRODUCTO cuenta las filas en las que se cumplen todas las condiciones:

=SUMAPRODUCTO((D2:D6="Sur") * (B2:B6>3))

Solo los cuadernos son del Sur con una cantidad mayor que 3, así que el resultado es 1. CONTAR.SI.CONJUNTO da lo mismo aquí, pero SUMAPRODUCTO también acepta cálculos dentro de la condición, como (MES(A2:A100)=3) para contar todo lo de marzo.

Condiciones O

Multiplicar significa Y. Sumar dos condiciones significa O:

=SUMAPRODUCTO(((D2:D6="Norte") + (D2:D6="Este")) * B2:B6)

Esto suma las cantidades del Norte o del Este: 10 + 6 + 8 = 24. Mantén los paréntesis extra alrededor de la parte O; si no, la multiplicación solo afecta a la segunda condición.

Promedio ponderado

¿Cuál es el precio medio por artículo teniendo en cuenta las cantidades? Divide SUMAPRODUCTO entre la cantidad total:

=SUMAPRODUCTO(B2:B6; C2:C6) / SUMA(B2:B6)

69 / 30 = 2,30. Un PROMEDIO simple de los precios daría 3,20, porque trata igual las 2 grapadoras que los 10 bolígrafos.

Errores comunes con SUMAPRODUCTO

  • #¡VALOR! Los rangos tienen tamaños distintos, como B2:B6 y C2:C7.
  • El resultado es 0 con una condición. Usaste un separador entre una condición y un rango: SUMAPRODUCTO((D2:D6="Norte"); B2:B6) Los valores VERDADERO/FALSO cuentan como 0 si no los multiplicas. Usa * o pon -- delante de la condición.
  • Libro lento. Evita columnas enteras como A:A: SUMAPRODUCTO calcula entonces sobre más de un millón de filas.

Preguntas frecuentes

¿Qué diferencia hay entre SUMAPRODUCTO y SUMAR.SI.CONJUNTO?

SUMAR.SI.CONJUNTO es más rápida y sencilla para condiciones Y simples. SUMAPRODUCTO es más flexible: admite lógica O, cálculos dentro de las condiciones y multiplicar columnas antes de sumar.

¿Necesito Ctrl+Mayús+Intro para SUMAPRODUCTO?

No. SUMAPRODUCTO trabaja con matrices por sí sola, incluso en versiones antiguas de Excel.

¿Puede SUMAPRODUCTO contar valores únicos?

Sí: =SUMAPRODUCTO(1/CONTAR.SI(A2:A10; A2:A10)) cuenta los valores distintos de una lista sin celdas vacías. Lee cómo contar valores únicos.

¿Qué hace el doble signo menos (--)?

Convierte VERDADERO y FALSO en 1 y 0, así que =SUMAPRODUCTO(--(A2:A10="Sí")) cuenta las celdas que dicen Sí.