2014-01-14 4 views
2

Я использую следующую формулу: = MIN (IF (A1: A5> B1, A1: A5)) использовать Ctrl-Shift-Enter Мое значение для B1 равно 10, а мой массив {1,5,4, 2,7}, поэтому в этом случае значение не будет больше 10. Проблема заключается в том, что excel возвращает 0 в результате пустого множества, которое является проблемой как 0 не более 10. В этом случае я могу проверить если результат 0 больше 10 и видеть, что результат недействителен, однако, если B1 равен -10 для массива {-15, -24, -11, -37-60}, чем 0, похоже на действительное значение когда правильное значение не существует.Значение Excel min больше, чем x возвращает 0, если значение не найдено?

Итак, кто-нибудь знает, как я могу найти минимальное или максимальное значение набора с ограничениями, но возвращать либо ошибку, либо нечто отличное, если набор решений пуст?

спасибо.

ответ

4

Попробуйте использовать SMALL вместо MIN, т.е.

=SMALL(IF(A1:A5>B1,A1:A5),1)

В отличие от MIN функция SMALL возвращает ошибку [#num] для примера

.... или если вы хотите получить текстовое значение вместо ошибки, то также используйте функцию IFERROR, то есть

=IFERROR(SMALL(IF(A1:A5>B1,A1:A5),1),"None")

+0

Спасибо, я пытался сделать SMALL и LARGE, но не смог получить результат. Не могу поверить, что я пропустил что-то настолько простое. Еще раз спасибо. –

+1

Также обратите внимание, что вы должны использовать Ctrl + Shift + Enter, когда вводите формулу для ее работы. –

1

Ваш оператор IF возвращает False, если ни один из чисел в диапазоне больше 10. Похоже, что MIN преобразует False в числовой (0). Вам нужно добавить поведение для обработки False.

Если вы знаете, что все допустимые значения должны быть> = 0, вы можете использовать раздел «else» формулы IF для возврата -1.

MIN(IF(A1:A5>B1,A1:A5,-1)) 
+0

Благодарим за быстрый ответ. К сожалению, я не могу предположить, что все значения являются положительными или даже одного вздоха. Эти данные могут быть абсолютно случайными. –

+0

Я пытаюсь найти способ сделать ложным какое-то значение, которое может быть проигнорировано, если есть истина, но взять верх, если все они ложные. –

+0

Как насчет этого = MIN (IF (A1: A5> 10, A1: A5))/(MIN (COUNT (IF (A1: A5> 10, A1: A5)), 1)) I делит значение на min от подсчета того же диапазона, поэтому, если 0, я получаю ошибку div/0, а в других случаях она дает правильное значение. –