Obtener el máximo o mínimo valor que cumple una condición

menor valor de un subconjunto de valores¿Has necesitado obtener el máx o mín utilizando la función condicional if en una hoja de cálculos?

Imagina que tienes las notas de un grupo de alumnos y quieres saber cuál de ellos no llega al suficiente (5) pero tiene más de un cuatro ¿cómo lo harías?

¿Y si quieres saber qué factura, pendiente de cobro, es la de mayor importe?

Por desgracia, a día de hoy, las hojas de cálculo no incluyen una función máxIF o mínIF (nos va a tocar tener que implementarlas 😉 )

Por fortuna, gracias a los arrays (función arrayFormula en Drive) y las funciones IF, MAX y MIN, no es complicado conseguir el resultado deseado.

Veamos cómo resolver (en la hoja de cálculo de Google Drive) el conocer, de las facturas sin pagar, la de menor y mayor importe.

ejemplo de cómo obtener el mayor o menor valor que cumple una condiciónPara obtener la mayor deuda utilizaremos el siguiente cálculo

=MAX(arrayformula(IF(k11:k25=“NO”;j11:j25)))

y para la factura, pendiente de cobro, de menor importe usaremos una expresión similar en la que sólo cambiaremos la función MAX por MIN 😉

=MIN(arrayformula(IF(k11:k25=“NO”;j11:j25)))

Lo único “truculento” en las fórmulas anteriores es

  • que se usan rangos de celdas tanto para comprobar si está pagada (k11:k25=”NO”) como para devolver el importe de la factura en caso de no estar pagada (J11:J25).
  • el uso de arrayformula para convertir en un array (que pueda ser procesado por las funciones max y min) lo que nos devuelve la condicional if.

Espero que el ejemplo sea lo suficientemente ilustrativo (y sencillo) para entender cómo aplicar funciones condicionales a la hora de elegir el máximo o mínimo de un conjunto de valores 😉

Conclusión

Truco para obtener en una hoja de cálculo el valor más grande (o más pequeño) que cumple determinada condición.

Y tú…

  • ¿Sabías cómo hacerlo?
  • ¿Tienes otro truco para aplicar condiciones en un conjunto de datos?
  • ¿Sabrías utilizarlo en otra hoja de cálculos que no fuese Google Drive? (se agradecen comentarios con las “traducciones” a LibreOffice, Excel, …)
  • ¿Te ha gustado?

2 comentarios en “Obtener el máximo o mínimo valor que cumple una condición

  1. Me gusta mucho tu blog. Llevo mucho tiempo siguiéndolo y siempre he encontrado temas muy útiles 🙂

    Creo que “array formula” es lo que llamamos función matricial. Reconozco que estoy un poco flojo en el pastoreo de esas funciones. Esta solución funciona en LibreOffice y probablemente en AOpenOffice y Excel. Creo que lo he resuelto con estas dos fórmulas.

    Valor menor no pagado: =K.ESIMO.MENOR(E16:F30;COINCIDIR(“NO”;F16:F30;0)-1)

    Valor mayor no pagado: =K.ESIMO.MAYOR(E16:F30;COINCIDIR(“NO”;F16:F30;0)+1)

    E16:F30 es el rango que contiene los datos numéricos y las condiciones
    F16:F30 es el rango que contiene las condiciones.

    A la primera fórmula se le resta una unidad para que encuentre el valor exacto porque si no devolverá el primero encontrado. Por la misma razón, se suma una unidad a la segunda fórmula.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s