Saldo acumulado por mes: tres enfoques (REDUCE+BYROW, PIVOTARPOR+acumulado, MMULT)
Juan plantea una pregunta que parece sencilla y se acaba convirtiendo en tres clases magistrales sobre cómo recorrer una matriz mes a mes.
Tiene una tabla de tesorería con conceptos en filas (Entradas, Clientes, Salidas, Proveedores…) y meses en columnas (2026-05, 2026-06, … 2028-12). Lo que quiere: que cada celda muestre el saldo acumulado hasta ese mes (enero solo enero; febrero enero+febrero; marzo enero+febrero+marzo…). Y la pregunta exacta: ¿se puede hacer aprovechando el propio PIVOTARPOR?
Solución 1 — Gerson: REDUCE + BYROW(TOMAR(...);SUMA)
Sin PIVOTARPOR. La idea es recorrer cada columna del rango y, en cada paso, tomar las primeras n columnas y sumarlas fila a fila:
``
=REDUCE(B2:B14; COLUMNA(C1:AH1)-2;
LAMBDA(j; x;
APILARH(j; BYROW(TOMAR(C2:AH14;;x); SUMA))
)
)
`
TOMAR(rango;;x) con tercer argumento positivo se queda con las primeras x columnas. BYROW(...;SUMA) las suma fila a fila, devolviendo una columna acumulada. REDUCE apila ese resultado columna a columna y genera la tabla derramada completa en una sola celda.
Solución 2 — Miki: AGRUPARPOR + columna acumulado + PIVOTARPOR
Más cercano al enfoque que pedía Juan, aunque sí usa una columna auxiliar:
1. Primero AGRUPARPOR por Concepto y mes-Año para tener los importes resumidos.
2. Añade una columna calculada con el acumulado dentro de cada concepto.
3. Aplica PIVOTARPOR sobre la matriz resultante para volver al formato tabla.
Miki avisó después que su versión daba error si se añadía una línea con valor negativo, y lo corrigió en un mensaje siguiente.
Solución 3 — Oscar: MMULT con matriz booleana
La más compacta y la que mejor responde a "una sola fórmula derramada":
`
=LET(
a; H8:H11;
u; UNICOS(a);
m; MES(J8:J11);
v; ENFILA(UNICOS(m));
APILARV(
APILARH(""; v & "-" & AÑO(J8));
APILARH(u; MMULT(N(u=ENFILA(a)); I8:I11*(m<=v)))
)
)
`
u=ENFILA(a) construye una matriz booleana de coincidencias por categoría. m<=v actúa como filtro "acumulado hasta este mes" en cada columna. El MMULT cruza ambas y produce, en una pasada, una matriz categorías × meses con los acumulados — sin SUMAR.SI.CONJUNTO ni columnas auxiliares.
---
Tres formas muy distintas de pensar el mismo problema: una con REDUCE/TOMAR direccional, otra con PIVOTARPOR y columna auxiliar, y otra con álgebra matricial pura vía MMULT`. El archivo adjunto incluye el planteamiento original de Juan y la solución corregida de Gerson.
Más contenido de Excel en InflueXcel
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- ¡Excel PowerQuery Hack! Conexiones con rutas relativas en 10 minutos! Tutorial¿Harto de ajustar las conexiones en PowerQuery cada vez que compartes tu archivo de Excel? 🙄 Convierte las conexiones de PowerQuery con ruta
- Mejora un 90% el rendimiento de Power Query con SQLite TutorialPower Query es una herramienta potente para consolidar, combinar y calcular datos, pero cuando trabajamos con millones de registros y calcul
- Nueva Función IMPORTTEXT TutorialNueva función IMPORTTEXT en Excel!! https://techcommunity.microsoft.com/blog/microsoft365insiderblog/bring-data-into-excel-with-the-new-impo
- ¿Columnas con nombres distintos en Power Query? Tutorial¿Columnas con nombres distintos en Power Query? Aquí tienes la solución definitiva para normalizar tus datos y evitar errores al combinar fi
- BUSCARX con valor devuelto dinámico: elige la columna con un botón o un segmentador CasoUna integrante de la comunidad planteó un reto muy habitual al trabajar con tablas de varias columnas: tiene una lista de municipios con cua
- Mapa de España con burbujas: ubicar variables por provincia usando coordenadas X/Y CasoEsta semana surgió una duda muy visual en el grupo: cómo mostrar dos variables por provincia en un mapa de España — una pintada en intensida
- Regularización trimestral con AGRUPARPOR y ARCHIVOMAKEARRAY: del caos a una fórmula CasoCaso fresquito de la comunidad. Juan plantea un problema contable: tiene una tabla de movimientos (Nombre, Cuenta, Importe, Fecha) y necesit
- Grado de avance por proyecto: despivotar y volver a pivotar por fecha CasoNuevo caso de la comunidad con mucho jugo para los que trabajan con reporting de proyectos. Juan plantea un problema habitual en oficinas té
- Siguiente consecutivo alfanumérico: calcular matrículas con reglas de prioridad CasoUn miembro de la comunidad, J. Gil, planteó un problema clásico con un giro interesante: calcular el siguiente consecutivo de una matrícula