Fórmula de Excel: enésimo valor más pequeño con criterios -

Tabla de contenido

Fórmula genérica

(=SMALL(IF(criteria,values),n))

Resumen

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 PEQUEÑO e SI.

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

(=SMALL(IF(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.

Explicación

La función PEQUEÑA es completamente automática: solo necesita proporcionar un rango y un número entero para "enésimo" para especificar el valor clasificado que desea.

El problema en este caso es que no queremos que PEQUEÑO opere en todos los valores del rango, solo valores que son masculinos o femeninos (M o F). Para aplicar este criterio, usamos 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 FALSE representa tiempos masculinos y los números representan tiempos femeninos. (Tiempos como este son valores fraccionarios, por lo que tenemos tantos lugares decimales para algunos tiempos).

La función PEQUEÑO 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 nth

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

(=IFERROR(SMALL(IF(Sex="F",Time),F8),"-"))

Varios criterios

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

=SMALL(IF((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.

Articulos interesantes...