La revisión trimestral de precios tiene una sola cifra que producir: el precio medio unitario. Hay una columna con doce precios unitarios, y =PROMEDIO(E2:E13) devuelve 104,91.
Esa cifra entra en la previsión del trimestre siguiente, que asume 6.000 unidades. Seis mil a 104,91 son 629.475,00.
El bruto que esas mismas 6.000 unidades produjeron el trimestre pasado fue 112.763,40.
El PROMEDIO no está roto. Respondió a la pregunta que le hicieron, que era "cuál es la media de estos doce números" — y la respuesta a eso es 104,91. Nadie quería saber eso. Lo que querían saber era por cuánto se vende una unidad, y 2.400 clips de cable a 4,25 cuentan una vez en PROMEDIO, exactamente igual que 24 mesas elevables a 640,00. Pondera cada precio por cuántas unidades salieron a ese precio y la respuesta es 18,79.
La fórmula que lo produce ocupa una celda:
=SUMAPRODUCTO(D2:D13;E2:E13)/SUMA(D2:D13)
SUMAPRODUCTO es la función que la gente conoce una vez, usa exactamente para esto y no vuelve a mirar. Vale más que eso. Multiplica columnas sin columna auxiliar, cuenta con condiciones que CONTAR.SI.CONJUNTO no sabe expresar, jerarquiza sobre una columna que no existe en la hoja, y hace todo eso sin Ctrl+Mayús+Intro, en todas las versiones de Excel que han existido.
Qué necesitas.
SUMAPRODUCTOfunciona en cualquier versión de Excel, en Excel para la web, en Mac y en Google Sheets, y nunca ha necesitado Ctrl+Mayús+Intro.SUMAR.SI.CONJUNTOyCONTAR.SI.CONJUNTOnecesitan Excel 2007 o posterior. Nada de este artículo necesita Microsoft 365.
1) Dos Medias de una Sola Columna
🎯 Escenario: El informe imprime un precio medio unitario. Ventas dice que es un disparate — nada de la lista se vende a cien euros la unidad de media. Finanzas dice que la fórmula es =PROMEDIO(E2:E13) y señala la columna. Los dos tienen razón, y ese es exactamente el problema.
Un Trimestre de una Lista de Precios, Sin Columna de Total de Línea
Doce referencias de una revisión trimestral de precios y volumen, con la disposición contra la que están escritas todas las fórmulas de abajo: referencia en A2:A13, categoría en B2:B13, región en C2:C13, unidades en D2:D13, precio unitario en E2:E13 y el descuento de línea como decimal en F2:F13. Fíjate en lo que falta — no hay columna de total de línea, y nunca la habrá; todos los totales de este artículo se calculan a partir de unidades y precio sin añadir una columna a la hoja. Las cifras que reaparecen: 6.000 unidades en total, 112.763,40 de bruto, 106.683,96 de neto tras 6.079,44 de descuentos, una media de la columna de precios de 104,91 y un precio medio unitario ponderado de 18,79. Accessories son 5.475 de las 6.000 unidades y 58.962,00 del bruto, a 10,77 por unidad ponderados; Furniture son 525 unidades y 53.801,40 a 102,48 ponderados. Todo el artículo gira sobre el hecho de que la primera de esas dos medias es la que imprimen casi todos los informes.
fxLas celdas con fórmulas están resaltadas en verde
Pasa el mouse sobre las celdas con fórmulas para ver la fórmula y resaltar las celdas referenciadas
Doce referencias, y algo que falta a propósito: no hay columna de total de línea. Nadie ha multiplicado unidades por precio en ninguna parte de esta hoja, y este artículo tampoco lo hará.
De la columna E salen dos medias:
| Fórmula | Resultado | De qué es la media |
|---|---|---|
=PROMEDIO(E2:E13) | 104,91 | Doce precios |
=SUMAPRODUCTO(D2:D13;E2:E13)/SUMA(D2:D13) | 18,79 | Seis mil unidades |
Las dos son correctas. Solo una responde a "por cuánto se vende una unidad", y es la segunda. La primera responde a "cuál es la media de los números de esta columna", que es una pregunta sobre la hoja de cálculo y no sobre el negocio.
La diferencia no es académica. Sobre una previsión de 6.000 unidades:
- 6.000 × 104,91 = 629.475,00
- Bruto real sobre 6.000 unidades = 112.763,40
- Diferencia = 516.711,60
Medio millón de previsión, producido por una fórmula que no tiene nada de malo.
2) Qué Hace Realmente SUMAPRODUCTO
Quítale la fama y es muy simple. Dados dos rangos de la misma forma, SUMAPRODUCTO los recorre juntos, fila a fila, multiplica cada pareja y suma los resultados.
=SUMAPRODUCTO(D2:D13;E2:E13)
devuelve 112.763,40, y esta es la aritmética que hizo:
| Fila | Unidades | Precio | Producto |
|---|---|---|---|
| 2 | 480 | 29,00 | 13.920,00 |
| 3 | 145 | 47,00 | 6.815,00 |
| 4 | 96 | 59,90 | 5.750,40 |
| 5 | 1.250 | 12,00 | 15.000,00 |
| 6 | 62 | 84,50 | 5.239,00 |
| 7 | 38 | 219,00 | 8.322,00 |
| 8 | 310 | 22,50 | 6.975,00 |
| 9 | 175 | 38,00 | 6.650,00 |
| 10 | 2.400 | 4,25 | 10.200,00 |
| 11 | 24 | 640,00 | 15.360,00 |
| 12 | 890 | 6,80 | 6.052,00 |
| 13 | 130 | 96,00 | 12.480,00 |
| Suma | 112.763,40 |
Esa columna de la derecha es una columna auxiliar. SUMAPRODUCTO es lo que escribes cuando no quieres construirla — cuando la hoja es de otra persona, cuando no hay columna libre, cuando el diseño lo fija quien la exporta, o cuando sencillamente no quieres una columna de números intermedios que alguien pueda desordenar.
De ahí salen dos cosas inmediatas, y las dos importan después:
- Los rangos deben tener la misma forma.
=SUMAPRODUCTO(D2:D13;E2:E12)devuelve#¡VALOR!, porque la fila 13 no tiene pareja. Ni aviso, ni respuesta parcial — un error. - Un solo rango es legal.
=SUMAPRODUCTO(D2:D13)es simplemente=SUMA(D2:D13), o 6.000. No hay nada por lo que multiplicar, así que suma.
3) La Media Ponderada
Una media ponderada es el total dividido entre el peso total, y es casi siempre lo que la gente quiere decir con "media" sobre cualquier cosa que un negocio venda.
=SUMAPRODUCTO(D2:D13;E2:E13)/SUMA(D2:D13)
112.763,40 entre 6.000 unidades, o 18,79 por unidad.
El patrón conviene memorizarlo como una forma más que como una fórmula: SUMAPRODUCTO(pesos; valores) / SUMA(pesos). Todo lo demás de esta sección es esa forma con otras columnas dentro.
Sepáralo por categoría y la mezcla se hace visible:
| Categoría | Unidades | Bruto | Media ponderada |
|---|---|---|---|
| Accessories | 5.475 | 58.962,00 | 10,77 |
| Furniture | 525 | 53.801,40 | 102,48 |
| Todo | 6.000 | 112.763,40 | 18,79 |
Accessories son el 91,25% de las unidades y algo más de la mitad del dinero. Por eso la cifra combinada se queda en 18,79 y no cerca del punto medio entre 10,77 y 102,48 — una media ponderada se arrastra hacia lo que se mueve en volumen, que es exactamente el comportamiento que quieres y exactamente el que PROMEDIO se niega a darte.
Dónde muerde más fuerte. Precio medio de venta, descuento medio, tipo de interés medio sobre saldos, plazo medio de entrega sobre envíos, tasa media de defectos sobre lotes, tarifa media por hora de un equipo. En todos ellos, un
PROMEDIOnormal trata una línea de 12 unidades y una de 12.000 como iguales.
4) Ponderar por Algo Que No Es Volumen
Los pesos no tienen por qué ser unidades. Pueden ser cualquier cosa, incluidos números que escribas tú.
Un cuadro de mando de proveedores puntúa tres dimensiones — calidad 4,6, entrega 3,1, precio 4,9 — y la media simple es 4,20. Pero las tres no importan igual: calidad es el 40% de la puntuación, entrega el 35% y precio el 25%. Pon los pesos en H2:H4 y las puntuaciones en I2:I4:
=SUMAPRODUCTO(H2:H4;I2:I4)
devuelve 4,15. Como los pesos ya suman 1, no hay entre qué dividir — y si no sumaran 1, dividirías entre SUMA(H2:H4) y obtendrías lo mismo, lo cual es una propiedad útil: los pesos nunca hay que normalizarlos a mano.
También puedes saltarte las celdas y poner los pesos en línea como constante matricial:
=SUMAPRODUCTO({0,4;0,35;0,25};I2:I4)
En la configuración regional española, dentro de una constante matricial el punto y coma separa filas y la barra invertida separa columnas. Así que {0,4;0,35;0,25} es una columna de tres filas que se alinea con I2:I4, mientras que {0,4\0,35\0,25} es una fila de tres columnas y devuelve #¡VALOR! contra un rango vertical. Es una tontería que cuesta veinte minutos la primera vez.
De todos modos, dejar los pesos escritos dentro de la fórmula es una costumbre que conviene resistir — el día que cambie la ponderación, un número en una celda es una edición de cinco segundos y un número dentro de una fórmula es un ejercicio de arqueología. Usa la constante matricial cuando los pesos estén fijados por definición, y celdas el resto del tiempo.
5) Las Condiciones Son Unos y Ceros
Todo lo demás que hace SUMAPRODUCTO sale de un solo hecho: una comparación contra un rango devuelve una matriz.
B2:B13="Accessories" no es un único VERDADERO o FALSO. Son doce, uno por fila:
{VERDADERO; VERDADERO; FALSO; VERDADERO; FALSO; FALSO; VERDADERO; FALSO; VERDADERO; FALSO; VERDADERO; FALSO}
VERDADERO y FALSO no son números, pero la aritmética los convierte en números: VERDADERO pasa a 1 y FALSO a 0 en cuanto multiplicas, sumas o restas. Así que multiplicar esa matriz por la columna de unidades pone a cero todas las filas que no son Accessories y deja intactas las demás.
=SUMAPRODUCTO((B2:B13="Accessories")*D2:D13*E2:E13)
devuelve 58.962,00 — el bruto de Accessories. Lee la expresión de izquierda a derecha y dice: para cada fila, multiplica un 1-o-0 por unidades por precio, y luego suma los doce resultados. Las filas que fallan la prueba aportan 0 × unidades × precio, que es 0.
Ese es todo el truco. Las condiciones no son una característica especial de SUMAPRODUCTO; son una multiplicación corriente por una matriz de unos y ceros.
6) Comas o Asteriscos — La Regla Que Decide
Esta es la forma más común de que un SUMAPRODUCTO salga mal en silencio.
SUMAPRODUCTO trata como cero cualquier cosa no numérica dentro de sus argumentos. El texto es cero. Los espacios en blanco son cero. Y VERDADERO y FALSO no son numéricos, así que una matriz de ellos pasada como argumento es una matriz de ceros.
=SUMAPRODUCTO((B2:B13="Accessories");(D2:D13>100)) → 0
=SUMAPRODUCTO((B2:B13="Accessories")*(D2:D13>100)) → 6
La misma prueba, distinta respuesta, y ningún error en ninguno de los dos casos. La primera devuelve 0 y parece un dato sobre los datos. La segunda multiplica las dos matrices antes de que SUMAPRODUCTO las vea, así que lo que llega es una matriz de unos y ceros, que sí es numérica.
La regla, dicha una vez:
- Asteriscos cuando las matrices son pruebas lógicas.
(condición)*(condición)*valores - Comas (o puntos y comas) cuando los argumentos ya son números.
SUMAPRODUCTO(unidades; precio) - Mézclalos con libertad mientras cada prueba lógica esté dentro de una multiplicación.
=SUMAPRODUCTO((B2:B13="Furniture")*D2:D13;E2:E13)es correcta y devuelve 53.801,40.
Hay una diferencia real más allá de eso. La forma con separadores tolera texto en un rango numérico — lo lee como cero y sigue. La forma con asteriscos no: texto × número es #¡VALOR!. Así que un rango con "n/d" escrito en una celda devolverá una respuesta con separadores y un error con asteriscos. Cuál de los dos quieres depende enteramente de si prefieres equivocarte en silencio o que te paren en seco, y casi siempre la respuesta es que te paren en seco.
7) El Doble Menos, y Para Qué Sirve de Verdad
Lo verás en las fórmulas de otras personas:
=SUMAPRODUCTO(--(B2:B13="Accessories"))
Esos dos signos menos son el doble menos unario. El primero niega la matriz — VERDADERO pasa a −1 y FALSO a 0, porque negar es aritmética y fuerza la conversión. El segundo la vuelve a negar, así que −1 pasa a 1. Efecto neto: VERDADERO/FALSO se convierte en 1/0, y SUMAPRODUCTO ya ve números.
Existe para el caso en que no hay nada por lo que multiplicar. Si estás contando filas y solo tienes una condición, (B2:B13="Accessories") por sí sola es una matriz de lógicos y SUMAPRODUCTO devolvería 0. Hay que convertirla, y hay tres maneras:
=SUMAPRODUCTO(--(B2:B13="Accessories")) → 6
=SUMAPRODUCTO((B2:B13="Accessories")*1) → 6
=SUMAPRODUCTO((B2:B13="Accessories")+0) → 6
Las tres devuelven las seis filas de Accessories. -- es la tradicional y marginalmente la más rápida; *1 es la que le puedes explicar a un compañero en cuatro segundos. En cuanto hay dos o más condiciones multiplicadas entre sí, la multiplicación hace la conversión por ti y el doble menos sobra — =SUMAPRODUCTO(--(B2:B13="Accessories")*--(D2:D13>100)) funciona, pero cada uno de esos signos no hace nada.
8) Contar con SUMAPRODUCTO
Quita los valores y estás contando filas en lugar de totalizarlas:
| Pregunta | Fórmula | Respuesta |
|---|---|---|
| Líneas de Accessories | =SUMAPRODUCTO(--(B2:B13="Accessories")) | 6 |
| Accessories de más de 100 unidades | =SUMAPRODUCTO((B2:B13="Accessories")*(D2:D13>100)) | 6 |
| Líneas con algún descuento | =SUMAPRODUCTO(--(F2:F13>0)) | 7 |
| Líneas de Furniture con descuento | =SUMAPRODUCTO((B2:B13="Furniture")*(F2:F13>0)) | 5 |
| Precios por encima de 50,00 | =SUMAPRODUCTO(--(E2:E13>50)) | 5 |
Todas tienen un equivalente en CONTAR.SI.CONJUNTO que es más corto y más rápido, y para preguntas con esta forma deberías escribir el CONTAR.SI.CONJUNTO. La tabla está por el patrón, no por la recomendación — las secciones 11, 12, 13 y 14 son aquellas en las que CONTAR.SI.CONJUNTO se queda sin recursos y esta forma es la única que queda.
Fíjate también en que las seis líneas de Accessories superan las 100 unidades, así que las dos primeras filas coinciden en 6. Eso es un hecho sobre estos datos, no sobre las fórmulas — no leas una coincidencia como una confirmación.
9) Dos Condiciones y un Valor
Condiciones y valores se componen en una sola expresión, en cualquier orden:
=SUMAPRODUCTO((B2:B13="Accessories")*(C2:C13="North")*D2:D13*E2:E13)
devuelve 13.920,00, el bruto de Accessories en North — una línea, los soportes de portátil. Cambia la categoría y:
=SUMAPRODUCTO((B2:B13="Furniture")*(C2:C13="North")*D2:D13*E2:E13)
devuelve 29.432,40 repartidos en tres líneas, y las dos juntas hacen los 43.352,40 que vendió North en total.
Como todo es multiplicación, ni el orden ni la agrupación importan. Estas tres son la misma fórmula:
=SUMAPRODUCTO((C2:C13="North")*D2:D13*E2:E13)
=SUMAPRODUCTO(D2:D13*E2:E13*(C2:C13="North"))
=SUMAPRODUCTO((C2:C13="North")*D2:D13;E2:E13)
Las tres devuelven 43.352,40. La tercera mezcla las formas legalmente: la prueba lógica está dentro de una multiplicación, y lo que SUMAPRODUCTO recibe como argumentos son dos matrices numéricas.
10) Tres Columnas a la Vez
Nada obliga a parar en dos columnas. El descuento de F es un decimal, así que 1-F2:F13 es la fracción del precio que se pagó de verdad:
=SUMAPRODUCTO(D2:D13;E2:E13;1-F2:F13)
devuelve 106.683,96 — ingreso neto, con cada línea descontada a su propio tipo, calculado a partir de tres columnas y una constante sin una sola celda auxiliar.
El descuento en sí es la misma fórmula con un argumento cambiado:
=SUMAPRODUCTO(D2:D13;E2:E13;F2:F13)
devuelve 6.079,44, y 112.763,40 − 6.079,44 = 106.683,96, que es la aritmética comprobándose a sí misma.
Dos cosas que notar. Primera: 1-F2:F13 es una expresión matricial — Excel calcula doce valores a partir de ella — y SUMAPRODUCTO la maneja de forma nativa, sin Ctrl+Mayús+Intro, en versiones de Excel anteriores en veinticinco años a las matrices dinámicas. Esa es la razón silenciosa de que SUMAPRODUCTO sobreviviera: entendía matrices antes de que las fórmulas matriciales fueran usables.
Segunda: el descuento medio ponderado ya está disponible por la misma vía:
=SUMAPRODUCTO(D2:D13;E2:E13;F2:F13)/SUMAPRODUCTO(D2:D13;E2:E13)
5,39%, frente al 5,42% que informa =PROMEDIO(F2:F13). Con estos datos las dos casi coinciden, y merece la pena enseñarlo precisamente porque es el caso aburrido: los tipos de descuento resultan no correlacionar mucho con el ingreso. Cambia el descuento de una línea grande y las dos cifras se separan al instante. Que una media ponderada y una simple coincidan es una propiedad de los datos de ese día, nunca un motivo para dejar de ponderar.
11) Condiciones O, y la Trampa de Sumarlas
La multiplicación es Y: una fila sobrevive solo si todas las pruebas valen 1. La suma es O — con una trampa dentro.
¿Cuántas líneas son Furniture o North? Seis son Furniture, cuatro son North y tres son ambas, así que la respuesta es siete. Pero:
=SUMAPRODUCTO((B2:B13="Furniture")+(C2:C13="North")) → 10
Diez, porque las tres filas que cumplen las dos condiciones aportan 1 + 1 = 2 cada una. La suma no construyó una unión, construyó un recuento. La solución es aplanar a 1 todo lo que pase de 1:
=SUMAPRODUCTO(((B2:B13="Furniture")+(C2:C13="North")>0)*1) → 7
El >0 convierte el 2 de vuelta en VERDADERO, y *1 lo convierte en número. Siete, que es la unión.
La misma protección hace falta siempre que un O esté dentro de una expresión mayor:
=SUMAPRODUCTO(((C2:C13="North")+(C2:C13="South")>0)*D2:D13*E2:E13)
devuelve 69.622,40 para North y South juntas. Aquí las regiones son excluyentes, así que el >0 no está haciendo nada — pero dejarlo no cuesta nada, y el día que alguien añada una fila donde ambas pruebas puedan ser ciertas, la fórmula ya es correcta. Escribe la protección por reflejo.
12) Criterios Sobre una Columna Que No Existe
Aquí es donde SUMAPRODUCTO deja de ser un SUMAR.SI.CONJUNTO más lento y pasa a ser la única opción.
SUMAR.SI.CONJUNTO y CONTAR.SI.CONJUNTO prueban rangos. No pueden probar una expresión. Así que la pregunta "cuántas líneas valen más de 10.000" no tiene respuesta con CONTAR.SI.CONJUNTO, porque no hay ninguna columna de valores de línea a la que apuntar — el valor de línea es unidades × precio, y nadie construyó esa columna.
A SUMAPRODUCTO le da igual:
=SUMAPRODUCTO((D2:D13*E2:E13>10000)*1)
5 líneas pasan de 10.000 — las mesas elevables con 15.360,00, las bandejas de cable con 15.000,00, los soportes de portátil con 13.920,00, los paneles de privacidad con 12.480,00 y los clips de cable con 10.200,00. Y su valor conjunto:
=SUMAPRODUCTO((D2:D13*E2:E13>10000)*D2:D13*E2:E13)
66.960,00, o el 59,4% del bruto salido de cinco de las doce líneas.
La misma libertad vale para cualquier expresión: (D2:D13*E2:E13*F2:F13>500) encuentra líneas donde solo el descuento costó más de 500, (E2:E13/MAX(E2:E13)<0,05) encuentra precios por debajo del 5% del más caro, (IZQUIERDA(A2:A13;2)="CC") filtra por prefijo de referencia. SUMAR.SI.CONJUNTO no puede con ninguna, y cada una es una columna auxiliar que no has tenido que añadir.
13) Jerarquizar Sin JERARQUIA
JERARQUIA necesita un rango. Si lo que quieres ordenar es algo calculado, no tiene a dónde apuntar — pero un puesto no es más que la cuenta de cuántos valores superan al tuyo, más uno, y contar es algo que SUMAPRODUCTO hace bien.
¿Dónde está CC-020 Cable Clips (fila 10) por valor de línea?
=SUMAPRODUCTO((D2:D13*E2:E13>D10*E10)*1)+1
5º. Cuatro líneas valen más que sus 10.200,00; suma una por sí misma.
La misma idea hace puestos condicionales, que JERARQUIA no sabe hacer en absoluto — posición dentro de una categoría en vez de global:
=SUMAPRODUCTO((B2:B13=B10)*(D2:D13*E2:E13>D10*E10)*1)+1
3º entre los Accessories, por detrás de las bandejas de cable y los soportes de portátil. La condición y la comparación conviven en la misma expresión, que es justo la razón de que esto funcione.
14) Contar Valores Distintos
El clásico de una línea, y el que más merece entenderse en vez de copiarse:
=SUMAPRODUCTO(1/CONTAR.SI(C2:C13;C2:C13))
4 regiones distintas. =SUMAPRODUCTO(1/CONTAR.SI(B2:B13;B2:B13)) devuelve 2 categorías.
El mecanismo es elegante. CONTAR.SI(C2:C13;C2:C13) — el mismo rango como rango y como criterio — devuelve una matriz con cuántas veces aparece el valor de cada fila: North aparece 4 veces, así que las cuatro filas de North devuelven 4. Toma el recíproco y cada una de esas filas aporta 0,25. Cuatro filas × 0,25 = 1. Cada valor distinto, ocupe las filas que ocupe, aporta exactamente 1, y la suma es el número de valores distintos.
Una advertencia que te va a morder: una sola celda vacía en el rango devuelve #¡DIV/0!, porque CONTAR.SI cuenta cero apariciones de un vacío y el recíproco de 0 es un error. En un rango que pueda tener huecos:
=SUMAPRODUCTO((C2:C13<>"")/CONTAR.SI(C2:C13;C2:C13&""))
El &"" le da a CONTAR.SI algo no vacío que contar para que el denominador nunca sea 0, y la prueba de delante aporta 0 en las filas vacías, así que no suman nada.
Si tienes Microsoft 365, =CONTARA(UNICOS(C2:C13)) dice lo mismo de forma mucho más legible, y deberías escribir eso. La forma 1/CONTAR.SI es para los archivos que tienen que abrirse en Excel 2016 — que son muchísimos.
15) SUMAPRODUCTO o SUMAR.SI.CONJUNTO
Las dos devuelven 58.962,00:
=SUMAPRODUCTO((B2:B13="Accessories")*D2:D13*E2:E13)
=SUMAR.SI.CONJUNTO(...) ← no se puede escribir
Esa segunda línea es la clave. SUMAR.SI.CONJUNTO suma un rango; aquí no hay rango que sumar, solo un producto de dos. En cuanto exista una columna de total de línea, =SUMAR.SI.CONJUNTO(G2:G13;B2:B13;"Accessories") hace el trabajo y lo hace más rápido — así que la pregunta real nunca es "qué función" sino "hay una columna, y debería haberla".
Donde se solapan, SUMAR.SI.CONJUNTO y CONTAR.SI.CONJUNTO ganan, y no por poco:
- Corren por la vía de agregación optimizada y multihilo de Excel.
SUMAPRODUCTOconstruye matrices en memoria y multiplica elemento a elemento. - Aceptan una referencia de columna entera sin pagar por un millón de filas vacías del mismo modo.
- Se leen mejor para quien venga después, y un argumento de criterio puede apuntar a una celda, de modo que el informe se puede filtrar.
Así que el reparto honesto:
| Usa SUMAR.SI.CONJUNTO / CONTAR.SI.CONJUNTO | Usa SUMAPRODUCTO |
|---|---|
| Totalizar o contar una columna real con criterios reales | Medias ponderadas de cualquier tipo |
| Cualquier cosa que vayas a rellenar miles de filas | Multiplicar dos columnas sin columna auxiliar |
| Criterios que un usuario deba poder cambiar en una celda | Criterios sobre una expresión calculada |
| Muchos datos y poco presupuesto de recálculo | Jerarquías, jerarquías condicionales, recuentos de distintos |
Y una nota sobre escala, porque SUMAPRODUCTO es la forma clásica de volver lento un libro: =SUMAPRODUCTO((B:B="Accessories")*D:D*E:E) sobre columnas enteras lee tres millones de celdas para responder a una pregunta sobre doce filas, y paga ese coste en cada recálculo. Acota los rangos o, mejor, mete los datos en una tabla y deja que Tabla[Unidades] crezca con ellos.
16) Errores Comunes
- Informar el
PROMEDIOde una columna de precios, tipos o porcentajes. Casi siempre la media equivocada, y nunca se anuncia — 104,91 frente a 18,79 con estos datos. - Separadores alrededor de una prueba lógica.
=SUMAPRODUCTO((A="x");(B>1))devuelve 0, en silencio, y un 0 parece una respuesta. - Rangos de distinta longitud.
#¡VALOR!, siempre. Pasa sobre todo cuando se inserta una fila al final de un rango y no del otro. - Referencias de columna entera.
A:Ason 1.048.576 filas, ySUMAPRODUCTOlas leerá todas fielmente. - Sumar condiciones para decir O sin la protección
>0. Las filas que cumplen las dos se cuentan dos veces — 10 en vez de 7 aquí. - Texto en un rango numérico con la forma de asteriscos.
#¡VALOR!por una sola celda con "n/d" o un guion. 1/CONTAR.SIsobre un rango con huecos.#¡DIV/0!, resuelto conCONTAR.SI(rango;rango&"").- Constantes matriciales con el separador equivocado. Escrita como fila no se alineará con una columna.
- Usar
SUMAPRODUCTOdonde encajaSUMAR.SI.CONJUNTO. La misma respuesta, más coste, peor lectura, y no acepta con la misma elegancia una celda de criterio. - Dejar los pesos escritos dentro de la fórmula. Cuando cambie la ponderación — y cambia — hay que reescribir la fórmula en vez de retocar una celda.
Conclusión
SUMAPRODUCTO hace una sola cosa: alinea rangos, multiplica en paralelo y suma. Todos los usos de este artículo son esa frase con distintos argumentos — unidades por precio para un total, pesos por puntuaciones para una valoración, unos y ceros por valores para una suma condicional, una expresión calculada contra sí misma para un puesto.
Lo que la hace digna de conocerse en 2026, con SUMAR.SI.CONJUNTO, FILTRAR y LET disponibles, es la franja estrecha de cosas que no hace nada más: ponderar, y poner criterios sobre una columna que solo existe dentro de la fórmula. Esas dos cubren la media ponderada, el puesto condicional, el recuento de distintos y la pregunta de "líneas de más de 10.000", y ninguna necesita columna auxiliar, versión nueva de Excel ni Ctrl+Mayús+Intro.
Y la cifra con la que quedarse es la del principio. El informe decía que el precio medio unitario era 104,91. Era 18,79. Nada en esa hoja estaba roto, ninguna fórmula devolvió un error, y la previsión se equivocó en 516.711,60 — porque a PROMEDIO le preguntaron por una columna cuando la pregunta era sobre el negocio.
