Resumen contable mensual con PIVOTARPOR: totales, filtros y compatibilidad con segmentadores
Un miembro de la comunidad gestiona la contabilidad de un Club Social en Excel. En la hoja "Imputacions" registra todos los movimientos con fecha, concepto, tipo (ingresos "Ingrés" o gastos "Despesa") e importe. Los meses están en catalán (Gen, Feb, Mar...) y la hoja "Data" contiene la tabla auxiliar de referencia con el listado de conceptos y meses.
El reto es generar un resumen mensual por concepto, ordenado cronológicamente, separado por tipo de movimiento y con totales. Su solución original usaba SUMIFS con ANCHORARRAY y fórmulas auxiliares de UNIQUE + FILTER, lo cual funciona pero requiere varias fórmulas coordinadas.
John propone condensarlo todo en una sola fórmula con PIVOTARPOR. La clave es usar COINCIDIRX contra la tabla auxiliar de meses para forzar el orden cronológico (en vez del orden alfabético por defecto):
``
=LET(
m; Tabla3[MES];
PIVOTARPOR(
Tabla3[CONCEPTE];
APILARH(COINCIDIRX(m; Data!C3:C14); m);
Tabla3[IMPORT];
SUMA;;;;;;
Tabla3[IoD]=B3
)
)
`
El usuario pide eliminar los números de mes y añadir una fila de totales. John refina:
`
=LET(
m; Tabla3[MES];
p; EXCLUIR(
PIVOTARPOR(
Tabla3[CONCEPTE];
APILARH(COINCIDIRX(m; Data!C3:C14); m);
Tabla3[IMPORT]; SUMA;;0;;;;
Tabla3[IoD]=B3
); 1
);
APILARV(BYCOL(p; SUMA); p)
)
`
El truco de EXCLUIR(…; 1) quita la primera columna (los índices numéricos usados para ordenar) y APILARV(BYCOL(p; SUMA); p) antepone la fila de totales.
Alejandro aporta una variante equivalente con el filtro de tipo fijo directamente en la fórmula:
`
=EXCLUIR(
PIVOTARPOR(
Tabla3[CONCEPTE];
APILARH(COINCIDIRX(Tabla3[MES]; Data!C3:C14); Tabla3[MES]);
Tabla3[IMPORT]; SUMA; 0; -1;;;;
Tabla3[IoD]="Despesa"
); 1
)
`
Leo da el paso final: adaptar la fórmula para que sea sensible a segmentadores (slicers), usando el patrón MAP + SUBTOTALES como filtro dinámico:
`
=LET(
m; Tabla3[MES];
p; EXCLUIR(
PIVOTARPOR(
Tabla3[CONCEPTE];
APILARH(COINCIDIRX(m; Data!C3:C14); m);
Tabla3[IMPORT]; SUMA;;0;;;;
MAP(Tabla3[CONCEPTE]; LAMBDA(x; SUBTOTALES(3; x)))
); 1
);
APILARV(BYCOL(p; SUMA); p)
)
`
El filtro MAP(…; LAMBDA(x; SUBTOTALES(3; x))) devuelve 1 para las filas visibles y 0 para las ocultas por un segmentador, haciendo que PIVOTARPOR solo procese los datos filtrados. Este patrón es reutilizable con cualquier fórmula de agregación dinámica.
Técnicas destacadas:
- PIVOTARPOR con COINCIDIRX para forzar orden cronológico de meses
- EXCLUIR para quitar columnas auxiliares del resultado
- APILARV(BYCOL(…; SUMA); datos) para anteponer fila de totales
- MAP + SUBTOTALES` para compatibilidad con segmentadores
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
- Saldo acumulado por mes: tres enfoques (REDUCE+BYROW, PIVOTARPOR+acumulado, MMULT) CasoJuan plantea una pregunta que parece sencilla y se acaba convirtiendo en tres clases magistrales sobre cómo recorrer una matriz mes a mes. T
- 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é