Формула Excel: n-е наименьшее значение с критериями -

Содержание

Общая формула

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

Резюме

Чтобы получить 2-е наименьшее значение, 3-е наименьшее значение, 4-е наименьшее значение и т. Д., Где каждое значение соответствует заданным критериям, вы можете использовать формулу массива, которая использует функции НАИМЕНЬШИЙ и ЕСЛИ.

В показанном примере формула G7 выглядит так:

(=SMALL(IF(Sex="F",Time),F7))

Где «Пол» - это именованный диапазон для C3: C15, а «Время» - именованный диапазон D3: D15.

Примечание: это формула массива, и ее необходимо вводить с помощью Control + Shift + Enter.

Объяснение

Функция МАЛЕНЬКИЙ полностью автоматическая - вам просто нужно указать диапазон и целое число для «nth», чтобы указать желаемое ранжированное значение.

Проблема в этом случае заключается в том, что мы не хотим, чтобы SMALL работал с каждым значением в диапазоне, а только со значениями мужского или женского пола (M или F). Чтобы применить этот критерий, мы используем функцию ЕСЛИ, которая обеспечивает логический тест для «M» или «F». Поскольку мы применяем тест к массиву значений, результатом также будет массив. В показанном примере , результирующий массив выглядит так:

(0,00729166666666667; FALSE; 0,00689814814814815; FALSE; 0,00835648148148148; FALSE; FALSE; FALSE; FALSE; 0,00693287037037037; FALSE; FALSE; 0,00672453703703704)

Где FALSE представляет мужское время, а числа - женское время. (Такие времена являются дробными значениями, поэтому иногда у нас так много десятичных знаков).

Функция SMALL автоматически игнорирует значения TRUE и FALSE, поэтому результатом будет n-е наименьшее значение из набора фактических чисел в массиве.

Ошибка без n-го

Вы получите сообщение об ошибке, если не будет n-го наименьшего значения на основе заданных критериев. Вы можете перехватить эту ошибку с помощью ЕСЛИОШИБКА и заменить любое значение, имеющее смысл следующим образом:

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

Несколько критериев

Для обработки нескольких критериев вы можете расширить формулу с помощью логической логики в такой форме:

=SMALL(IF((criteria1)*(criteria2),values),n)

Где критерии1 и критерии2 и представляют выражение для проверки значений в диапазоне критериев, как показано в исходном примере выше.

Интересные статьи...