PIVOTARPOR: cadenas vacías y orden cronológico mensual
Juan trae dos problemas de PIVOTARPOR el mismo día, ambos muy prácticos y con soluciones elegantes de la comunidad.
Problema 1: cadenas vacías que impiden operar
Juan tiene una tabla de proyectos con columnas Proyecto, Tipo (Budget/Actual) e Importe. Al pivotar con PIVOTARPOR, cuando un proyecto no tiene valor de Budget, la celda resultante no queda vacía sino con una cadena de texto vacía "". Esto hace que cualquier operación aritmética posterior (resta Actual - Budget) devuelva #VALOR!.
El fichero adjunto muestra el problema: Proyecto1 tiene Actual (8) y Budget (4), pero Proyecto2 solo tiene Actual (3). Al intentar =LAMBDA(x;y;x-y)(I7:I8;J7:J8), falla porque J8 es "", no 0.
La comunidad propone varias soluciones:
John resuelve el problema directamente en el PIVOTARPOR, multiplicando por -1 elevado a una condición para invertir el signo del Budget:
``
=PIVOTARPOR(C6:C194; D6:D194; -1^(D6:D194="Budget")*E6:E194; SUMA)
`
Así el total ya sale como Actual - Budget sin necesidad de operar después. Para la resta por separado, propone usar N(+x) que convierte cadenas vacías a cero:
`
=LAMBDA(x;y;N(+x)-N(+y))(I7:I8;J7:J8)
`
Nacho usa el doble negativo -- dentro de la LAMBDA para forzar la conversión a número: LAMBDA(x;y;(--x)-(--y)).
Alejandro envuelve todo el PIVOTARPOR en un LET con SI al final para limpiar los vacíos:
`
=LET(
_m; PIVOTARPOR(APILARH(C6:C194); D6:D194;
SI(D6:D194="Budget"; -E6:E194; E6:E194); SUMA;; 1;; 1);
SI(_m=""; 0; _m)
)
`
Problema 2: PIVOTARPOR mensual con orden cronológico
Por la noche, Juan vuelve con otro reto: quiere un resumen mensual con PIVOTARPOR donde los meses aparezcan ordenados cronológicamente (Ene, Feb, Mar...) en vez de alfabéticamente.
Leo lo clava con una sola fórmula usando TEXTO con formato dual para crear una clave de ordenación invisible:
`
=EXCLUIR(
PIVOTARPOR(
A5:A193;
APILARH(TEXTO(C5:C193; {"mm"\"e-mmm"}); B5:B193);
D5:D193;
SUMA;; 1;; 0
);
1
)
`
El truco está en TEXTO(fecha;{"mm"\"e-mmm"}): genera dos columnas, una con el número de mes ("mm" → "01", "02"...) para que PIVOTARPOR ordene correctamente, y otra con el nombre abreviado ("e-mmm" → "e-ene", "e-feb"...) para mostrar. Después EXCLUIR(...;1)` elimina la columna numérica auxiliar.
Juan reacciona entusiasmado: "perfecta!!! Al último paso no llego ni en 100 vidas" 😄
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é