Filtrar por fecha mínima y máxima en PIVOTARPOR
Miki lanza una duda interesante sobre PIVOTARPOR: tiene una tabla con cierres mensuales (desde diciembre 2024 hasta mayo 2025) y quiere quedarse solo con las filas correspondientes a la fecha mínima y máxima del rango, usándolas como elemento agrupado.
Su primera idea es usar el argumento de filtro de PIVOTARPOR con una condición multiplicada:
``
(FechaCierre = MIN(FechaCierre)) (FechaCierre = MAX(FechaCierre))
`
Joan Recasens detecta rápidamente el problema: el operador actúa como Y lógico, así que esa condición solo devolvería resultados si MIN y MAX fueran iguales (lo cual no tiene sentido). Para un O lógico, hay que usar +.
Leo confirma la solución correcta en el argumento de filtro de PIVOTARPOR:
`
(Fecha = MIN(Fecha)) + (Fecha = MAX(Fecha))
`
Donde Fecha es la columna de fechas de cierre. El operador + actúa como O lógico, devolviendo las filas que coincidan con la fecha mínima o la máxima.
Un recordatorio útil de que en contextos de matrices booleanas en Excel, * equivale a AND y + equivale a OR, algo fundamental cuando se trabaja con los argumentos de filtro de funciones como PIVOTARPOR o FILTRAR`.
El problema: quedarse solo con el primer y el último cierre
Miki lanza una duda muy concreta sobre PIVOTARPOR. Tiene una tabla de cierres mensuales que va desde diciembre de 2024 hasta mayo de 2025, y quiere quedarse únicamente con dos filas: la de la fecha más antigua y la de la más reciente. Nada de lo que hay en medio.
Su primera idea es razonable y usa el argumento de filtro de PIVOTARPOR:
(FechaCierre = MIN(FechaCierre)) * (FechaCierre = MAX(FechaCierre))La fórmula no da error. Simplemente devuelve un resultado vacío. Y ese es el peor tipo de fallo, porque no hay nada que te señale dónde mirar.
Por qué no devuelve nada
Joan Recasens da con el problema al instante, y la explicación es de esas que se quedan grabadas.
En Excel, cuando trabajas con matrices de VERDADERO y FALSO, los operadores aritméticos hacen de operadores lógicos:
- El producto funciona como Y lógico: solo da 1 si las dos condiciones se cumplen a la vez.
- La suma funciona como O lógico: da un valor distinto de cero si se cumple al menos una.
La fórmula de Miki multiplica, así que está pidiendo las filas cuya fecha sea, simultáneamente, la mínima y la máxima del rango. Eso solo se cumpliría si todas las fechas fueran iguales. Como no lo son, ninguna fila pasa el filtro y el resultado sale vacío.
No es un error de sintaxis: la fórmula hace exactamente lo que se le ha pedido. Lo que estaba mal era la pregunta.
La solución: cambiar el producto por la suma
Leo confirma la corrección, que cabe en un carácter:
(Fecha = MIN(Fecha)) + (Fecha = MAX(Fecha))Donde Fecha es la columna de fechas de cierre. Ahora la condición dice "la fecha mínima o la máxima", que es lo que se quería desde el principio.
Vale la pena entender qué devuelve exactamente esa expresión. Para cada fila obtienes la suma de dos valores lógicos convertidos en números: 0 si no cumple ninguna condición, y 1 si cumple una. Como cualquier valor distinto de cero se interpreta como VERDADERO, el filtro deja pasar las dos filas buenas.
Un detalle bonito de este caso concreto: si el rango tuviera una sola fecha, esa fila daría 2, y seguiría funcionando igual. El filtro no exige un 1 exacto, solo que no sea cero.
La regla general, que vale para mucho más
Lo que aprende uno aquí no es un truco de PIVOTARPOR, es una regla que se aplica en todo Excel moderno:
- Para exigir que se cumplan todas las condiciones, multiplica.
- Para que baste con una cualquiera, suma.
Sirve igual en el segundo argumento de FILTRAR, dentro de SUMAPRODUCTO, en el argumento de filtro de AGRUPARPOR y en cualquier sitio donde construyas una máscara booleana a mano.
Y hay una razón práctica para preferir esta notación sobre Y y O: las funciones Y y O colapsan la matriz entera en un único valor, así que no sirven para filtrar fila a fila. El producto y la suma, en cambio, operan elemento a elemento y conservan una respuesta por cada fila, que es justo lo que necesita un filtro.
Es el motivo por el que verás tantas fórmulas de la comunidad con paréntesis multiplicados donde uno esperaría un Y.
Funciones clave
PIVOTARPOR— agrupa y pivota en una sola fórmula. Su argumento de filtro admite cualquier matriz booleana del mismo alto que los datos.MINyMAX— sobre una columna de fechas devuelven la más antigua y la más reciente, porque para Excel una fecha es un número.- El producto de matrices booleanas — equivale a Y lógico, elemento a elemento.
- La suma de matrices booleanas — equivale a O lógico, elemento a elemento.
YyO— útiles en una celda suelta, inservibles dentro de un filtro porque devuelven un único valor para toda la matriz.
Conclusión
Este caso se resuelve cambiando un signo, pero el valor no está en el signo: está en entender que dentro de un filtro estás construyendo una matriz de respuestas, una por fila, y que la aritmética es la forma de combinarlas.
Cuando un filtro te devuelva un resultado vacío sin dar error, párate a leer la condición en voz alta. Si al decirla suena como "la fecha mínima y también la máxima", ya has encontrado el fallo.
Preguntas como esta, cortas de escribir y con una explicación de fondo que sirve para media hoja de cálculo, salen todas las semanas en la comunidad de InflueXcel.
Más casos con estas funciones
Más contenido de Excel en InflueXcel
- Un gráfico que crece solo a partir de un PIVOTARPOR, sin DESREF (y sin depender del orden alfabético) CasoLuis lleva el control de unas certificaciones en una tabla: cada cliente tiene un aliado asignado (o ninguno todavía) y un estado, que puede
- FILTRAR en Excel: las 5 dudas más buscadas, resueltas (y una extra: filtrar entre fechas) TutorialLe preguntamos a Copilot cuáles son las 5 dudas que más se buscan sobre FILTRAR y las resolvemos una a una en Excel, cada una con un truco e
- Acumular el saldo en PIVOTARPOR: una función de agregación distinta por columna CasoNuevo caso que empieza con una suposición razonable y acaba en una contraprueba del propio autor. Juan trae un libro mayor en bruto y quiere
- 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
- Comentarios persistentes junto a AGRUPARPOR/PIVOTARPOR CasoJuan plantea un problema muy habitual para quienes trabajan con PIVOTARPOR o AGRUPARPOR: añadir comentarios o anotaciones en columnas auxili
- Reestructurar datos apilados con LAMBDA y PIVOTARPOR CasoUn miembro de la comunidad comparte un archivo de revisión de Seguridad Social con una tabla amplia (34 columnas x 1540 filas) en formato "a
- PIVOTARPOR: cadenas vacías y orden cronológico mensual CasoJuan trae dos problemas de PIVOTARPOR el mismo día, ambos muy prácticos y con soluciones elegantes de la comunidad. Problema 1: cadenas vací
- Formato dinámico AGRUPARPOR PIVOTARPOR TutorialAplicar formato condicional a las matrices calculadas es fundamental para conseguir que su legibilidad sea óptima
- Extraer números de texto con formato moneda: 5 enfoques con y sin REGEX CasoUn miembro de la comunidad trabaja con un listado de reclamaciones legales donde los importes están escritos como texto con formatos inconsi
- Readmisión de pacientes en 48h: Power Query, LAMBDA/MAP y AGRUPARPOR CasoAndrés Rojas plantea un reto real de datos clínicos: a partir de una tabla con más de un millón de registros de urgencias (IdPaciente, Fecha