Multiplica rangos fila a fila y después suma los resultados.
SUMAPRODUCTO multiplica las celdas correspondientes de dos o más rangos y totaliza los resultados. Unidades por precio unitario, a lo largo de una columna entera, en una sola celda: sin columna auxiliar de totales de línea que construir y luego ocultar.
Ese es el uso de cada día, y sería una función modesta si fuera lo único. Su segunda vida viene de cómo trata las pruebas lógicas: como VERDADERO vale 1 y FALSO vale 0, multiplicar un rango por una condición anula las filas que no la cumplen. =SUMAPRODUCTO((D2:D6="Norte")*B2:B6) totaliza las filas del Norte sin que intervenga SUMAR.SI.
SUMAR.SI.CONJUNTO ha hecho innecesario casi todo eso, y conviene recurrir antes a ella: es más clara y más rápida. SUMAPRODUCTO conserva su sitio para lo que aquella aún no puede hacer: condiciones O dentro de una sola fórmula, criterios calculados con una función en vez de comparados con un valor, y cualquier libro que deba abrirse en una versión antigua de Excel.
=SUMAPRODUCTO(matriz1; [matriz2]; …)matriz1matriz2; …Encabezados en la fila 1, datos en A2:D6. Fíjate en el hueco de C4 y el texto de C6.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Artículo | Unidades | Precio unitario | Región |
| 2 | Taladro inalámbrico | 12 | 89.99 | Norte |
| 3 | Alargador | 40 | 12.5 | Sur |
| 4 | Gafas de seguridad | 8 | Norte | |
| 5 | Guantes de trabajo | 25 | 5.4 | Sur |
| 6 | Cinturón de herramientas | 6 | n/d | Norte |
=SUMAPRODUCTO(B2:B3; C2:C3)Resultado: 1579,88
12 × 89,99 más 40 × 12,50. El total ponderado, sin necesidad de una columna de totales de línea.
=SUMAPRODUCTO((D2:D6="Norte") * B2:B6)Resultado: 26
La condición se evalúa como VERDADERO/FALSO, que multiplica como 1/0, así que solo sobreviven las filas del Norte.
=SUMAPRODUCTO((D2:D6="Norte") * (B2:B6>10))Resultado: 1
Dos condiciones multiplicadas dan un recuento condicional: la forma de hacerlo antes de CONTAR.SI.CONJUNTO.
=SUMAPRODUCTO(((D2:D6="Norte") + (B2:B6>30)) > 0)Resultado: 4
Lógica O, que CONTAR.SI.CONJUNTO no puede expresar. Sumar condiciones da 2 donde se cumplen ambas, así que el >0 lo aplana de nuevo a un recuento de filas.
Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.
Por qué ocurre: Los rangos tienen formas distintas, o uno contiene texto que acaba dentro de una operación aritmética.
Cómo resolverlo: Haz que todas las matrices tengan idéntica altura y anchura. Donde pueda haber texto, multiplica por una condición que lo excluya en vez de incluirlo en el producto.
Por qué ocurre: Una de las condiciones no se cumple nunca, a menudo una comparación de texto derrotada por espacios sobrantes.
Cómo resolverlo: Evalúa cada paréntesis por separado: una condición que devuelve todo FALSO anula el producto entero.
Por qué ocurre: Sumar dos condiciones da 2 donde ambas se cumplen, y SUMAPRODUCTO totaliza ese 2 tan tranquila.
Cómo resolverlo: Envuelve la suma en una prueba >0 para aplanarla a 1, como en el cuarto ejemplo.
Cuando necesites lógica O en una sola fórmula, cuando el criterio sea el resultado de una función y no una comparación simple, o cuando el libro deba abrirse en Excel 2003. Para condiciones Y corrientes, SUMAR.SI.CONJUNTO es más clara y más rápida y debería ser la opción por defecto.
Excel trata VERDADERO como 1 y FALSO como 0 en aritmética. Multiplicar un valor por una condición lo conserva cuando esta se cumple y lo anula cuando no, y SUMAPRODUCTO suma los supervivientes.
No. Maneja matrices de forma nativa, que era su principal atractivo antes de las matrices dinámicas: daba comportamiento matricial sin la combinación de teclas que exigían las fórmulas matriciales antiguas.
Lecturas más largas donde esta función hace trabajo real en una hoja real.