Cuando los ingresos de un proyecto se desglosan por meses en varias columnas, sumar únicamente las filas cuyos estados son Confirmed o Pipeline puede parecer complicado. Sin embargo, con las funciones matriciales adecuadas el proceso se vuelve rápido, sostenible y libre de errores.
Por qué surge el problema
Excel nació con una filosofía eminentemente vertical: la mayoría de las funciones condicionales —SUMIF
, SUMIFS
, COUNTIF
…— están preparadas para aplicar criterios sobre filas o columnas, pero no sobre ambas dimensiones a la vez. Cuando los datos se organizan en forma de “matriz” (varios meses en columnas y varios proyectos en filas), utilizar estas funciones implica elaborar una fórmula para cada columna y luego sumar los resultados, duplicando esfuerzo y multiplicando riesgos de mantenimiento.
Configuración del ejemplo
Supongamos una hoja con los siguientes datos (rango A1:F6):
Estado | Enero | Febrero | Marzo | Abril | Mayo |
---|---|---|---|---|---|
Confirmed | 12 500 | 9 800 | 19 400 | 11 000 | 7 300 |
Pipeline | 8 600 | 6 700 | 14 100 | 10 500 | 9 900 |
Lost | 0 | 0 | 0 | 0 | 0 |
Confirmed | 15 200 | 11 600 | 20 300 | 12 900 | 8 100 |
Pipeline | 10 100 | 7 400 | 13 800 | 9 650 | 11 200 |
Queremos obtener dos celdas de totales:
- Confirmed Total: suma global de todas las celdas correspondientes a filas cuyo estado sea Confirmed.
- Pipeline Total: suma global de todas las celdas correspondientes a filas cuyo estado sea Pipeline.
Método universal con SUMPRODUCT
Funciona en todas las versiones modernas de Excel, incluidas las perpetuas (2010 → 2021) que no disponen de funciones dinámicas.
Confirmed Total =SUMPRODUCT(B2:F6*(A2:A6="Confirmed"))
Pipeline Total =SUMPRODUCT(B2:F6*(A2:A6="Pipeline"))
¿Cómo trabaja SUMPRODUCT
en este contexto?
- El componente
(A2:A6="Confirmed")
genera una matriz booleana vertical de cinco elementos:{TRUE;FALSE;FALSE;TRUE;FALSE}
- Esa matriz se multiplica por la matriz numérica
B2:F6
. Excel convierteTRUE
→ 1 yFALSE
→ 0, “apagando” los importes de las filas que no cumplan la condición. SUMPRODUCT
suma todos los valores resultantes —ya sean 25 o 5 000 celdas— sin necesidad de bucles adicionales.
Ventajas:
- Elegancia y compacidad: una sola fórmula por estado.
- Versatilidad: admite otros operadores lógicos (
<>
,>
,<=
, etc.) y varios criterios simultáneos enlazando condiciones con*
(AND) o+
(OR). - Compatibilidad: funciona lo mismo en Mac y Windows, con o sin licencia M365.
Método con SUM
+ cálculo de matrices en Microsoft 365 / Excel 2021
Si dispones de una versión que admita array formulas implícitas (sí, las que derraman resultados), puedes usar directamente SUM
:
Confirmed Total =SUM((B2:F6)*(A2:A6="Confirmed"))
Pipeline Total =SUM((B2:F6)*(A2:A6="Pipeline"))
La mecánica interna es idéntica a la de SUMPRODUCT
, pero SUM
ahora reconoce que el resultado de la multiplicación es una matriz y procede a sumarla de extremo a extremo.
Pequeño truco de rendimiento
En libros de gran tamaño (~100 000 filas × 12 meses) notarás que SUM
suele recalcular más rápido que SUMPRODUCT
, porque se ahorra el paso de “producto por filas” característico de esta última. El impacto es marginal a escala doméstica, pero importante en entornos financieros con archivos > 50 MB.
Alternativa con FILTER
+ SUM
FILTER
es ideal cuando además de sumar quieres visualizar las filas filtradas sin duplicar la hoja original. Para nuestro objetivo de totales, aporta más legibilidad que rendimiento; aun así, es una opción válida:
=SUM(FILTER(B2:F6, A2:A6="Confirmed"))
La función FILTER
devuelve una matriz con todas las columnas B → F, pero sólo las filas cuyo estado sea Confirmed. SUM
se limita a agregarla.
Por qué SUMIF
/SUMIFS
no es (tan) adecuada
Las funciones “IF” de suma se diseñaron para rangos unidimensionales. En cuanto el rango de suma no es una sola columna sino un bloque de celdas contiguas, ambas devuelven un error (#VALUE!) o se ven obligadas a recibir sólo la primera columna del bloque. La solución “tradicional” era:
- Colocar en, p. ej., G2 la fórmula
=SUMIFS(B$2:B$6, $A$2:$A$6,"Confirmed")
- Copiarla una columna a la derecha para
C
, luego otra paraD
… - Sumar G2:K2 para obtener el total final.
Además de largo y propenso a errores (¿seguro que la celda final no se quedó fuera del rango?), rompe el principio de Single Source of Truth: una misma lógica repartida en n fórmulas diferentes.
Ejemplo expandido con múltiples criterios
Imagina que además del estado quieres limitar la suma a los meses de Enero a Marzo (columnas B → D). Con SUMPRODUCT
sería tan fácil como:
=SUMPRODUCT(B2:D6*(A2:A6={"Confirmed","Pipeline"}))
La clave está en el uso de una constante matricial horizontal {"Confirmed","Pipeline"}
, que produce un vector de dos columnas booleanas. SUMPRODUCT
sigue multiplicando y sumando, manteniendo el código limpio. Con SUM
+ matrices implícitas:
=SUM((B2:D6)*(A2:A6={"Confirmed","Pipeline"}))
Las fórmulas siguen siendo de una sola línea aun cuando la lógica se enriquece.
Buenas prácticas y recomendaciones
- Usa nombres de rango: asignar rngMeses → B2:F6 y rngEstado → A2:A6 mejora la lectura (
=SUMPRODUCT(rngMeses*(rngEstado="Pipeline"))
). - Convierte la tabla a formato “Tabla” (Ctrl + T): así los rangos se actualizan automáticamente al añadir filas o columnas.
- Evita las matrices enteras de hoja (
1:1048576
): limitan el rendimiento y complican la depuración. Define un rango que cubra el máximo esperado de filas. - Documenta con comentarios (Shift + F2) el motivo de elegir una aproximación matricial; dentro de un año tu yo futuro lo agradecerá.
- Cuida la coherencia regional: las versiones en español de Excel usan “;” como separador de argumentos (
=SUMA((B2:F6)*(A2:A6="Confirmed"))
). Adapta los ejemplos si publicas en un entorno anglófono.
Preguntas frecuentes
¿Cuántos criterios puedo encadenar dentro de SUMPRODUCT
? Prácticamente ilimitados, siempre que respetes la lógica booleana: *
(AND) y +
(OR). El límite real es la claridad del código; dos o tres criterios suelen ser gestionables. ¿Hay riesgo de desbordar la memoria con archivos muy grandes? Si el rango implicado supera los 2 millones de celdas, Excel podría ofrecer tiempos de cálculo lentos. Considera agregar columnas de ayuda que etiqueten las filas y usen SUMIF
sobre una sola columna si percibes cuellos de botella. ¿Puedo usar esto en Google Sheets? Sí. SUMPRODUCT
y las dinámicas implícitas funcionan casi idéntico. Únicamente asegúrate de emplear “,” como separador de argumentos. ¿Cómo adapto la fórmula si mis meses están en filas y los proyectos en columnas? Invierte la lógica: tu rango de importes será vertical (por ejemplo, B2:B13
) y el vector booleano horizontal. Excel no distingue orientaciones; sólo importa que las matrices tengan las mismas dimensiones. ¿Qué pasa si necesito el total por moneda además del estado? Crea una tercera matriz booleana (Moneda="EUR")
y multiplícala con las dos anteriores: =SUMPRODUCT(rngMeses(rngEstado="Confirmed")(rngMoneda="EUR"))
. Todos los criterios deben tener la misma altura.
Conclusión
Sumar con doble criterio vertical + horizontal deja de ser un dolor de cabeza cuando se interioriza el poder de los cálculos matriciales. Tanto SUMPRODUCT
como la nueva sintaxis implícita de SUM
permiten concentrar toda la lógica en una sola celda, reducir el mantenimiento y acelerar los ajustes futuros. Si trabajas con presupuestos dinámicos o informes periódicos, dominar estas técnicas se traduce en hojas de cálculo más limpias, veloces y confiables.