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.
  • MIN y MAX — 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.
  • Y y O — ú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