Excel formula: nth smallest value with criteria

Fórmula genérica

{=K.ESIMO.MENOR(SI(criteria,values),n)}

Explicación

Para obtener el segundo valor más pequeño, el tercer valor más pequeño, el cuarto valor más pequeño, etc., donde cada valor coincide con los criterios proporcionados, puede usar una fórmula de matriz que use las funciones K.ESIMO.MENOR y SI.

En el ejemplo que se muestra, la fórmula en G7 es:

{=K.ESIMO.MENOR(SI(Sex="F",Time),F7)}

Donde "Sexo" es un rango con nombre para C3: C15 y "Tiempo" es el rango con nombre D3: D15.

Nota: esta es una fórmula de matriz y debe ingresarse usando Control + Shift + Enter.

Cómo funciona esta fórmula

La función K.ESIMO.MENOR es completamente automática: solo necesita proporcionar un rango y un número entero para "nth" para especificar el valor clasificado que desea.

El problema en este caso es que no queremos que K.ESIMO.MENOR opere en todos los valores del rango, solo valores que sean masculinos o femeninos (M o F). Para aplicar este criterio, utilizamos la función SI, que proporciona una prueba lógica para "M" o "F". Debido a que estamos aplicando la prueba a una matriz de valores, el resultado también será una matriz. En el ejemplo que se muestra , la matriz resultante se ve así:

{0.00729166666666667; FALSO; 0.00689814814814815; FALSO; 0.00835648148148148; FALSO; FALSO; FALSO; FALSO; 0.00693287037037037; FALSO; FALSO; 0.00672453703703704}

Donde FALSO representa tiempos masculinos y los números representan tiempos femeninos. (Tiempos como este son valores fraccionarios, razón por la cual tenemos tantos lugares decimales para algunas veces).

La función K.ESIMO.MENOR ignorará automáticamente los valores VERDADERO y FALSO, por lo que el resultado será el enésimo valor más pequeño del conjunto de números reales en la matriz.

Error sin enésima

Obtendrá un error si no hay un enésimo valor más pequeño según los criterios proporcionados. Puede atrapar este error con SI.ERROR y reemplazarlo con cualquier valor que tenga sentido como este:

{=SI.ERROR(K.ESIMO.MENOR(SI(Sex="F",Time),F8),"-")}

Criterios múltiples

Para manejar múltiples criterios, puede extender la fórmula con lógica booleana en una forma como esta:

=K.ESIMO.MENOR(SI((criteria1)*(criteria2),values),n)

Donde criterios1 y criterios2 y representan una expresión para probar valores en un rango de criterios, como se muestra en el ejemplo original anterior.


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT