Исходные данные
Исходными данными может быть любой числовой набор данных, таких как горизонтальный или вертикальный диапазон, двумерный массив или даже не смежные диапазоны или отдельно заполненные ячейки. Для удобства я взял одномерный вертикальный массив А1:А5
Для решения этой задачи можно использовать как дополнительный столбец с промежуточной формулой, так и одну формулу массива
1. Решение с дополнительным столбцом В В1 напишите формулу
и скопируйте её на диапазон В2:В5.
Эта промежуточная формула в дополнительном столбце будет "убирать" из исходных данных нули, заменяя их на пустую строку ""
В С1 напишите формулу Она и вернёт искомый результат - число 3
Если в диапазоне есть отрицательные числа, то вместо формулы
надо использовать формулу
2. Решение формулой массива Для решения этой задачи используйте такую формулу массива:
=МИН(ЕСЛИ(A1:A5<>0;A1:A5))
Как это работает: Вот эта часть формулы A1:A5<>0 формирует массив {ИСТИНА:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ИСТИНА}, после чего применяя функцию ЕСЛИ() мы преобразуем массив в следующий: {5:7:ЛОЖЬ:ЛОЖЬ:3}. Так как функция МИН() игнорирует текстовые и логические значения, то в итоге получаем искомое - число 3
Если в диапазоне есть отрицательные числа, то вместо формулы
=МИН(ЕСЛИ(A1:A5<>0;A1:A5)) надо использовать формулу
=МИН(ЕСЛИ(A1:A5>0;A1:A5)) 3. Решение простой формулой Используйте такую формулу:
=НАИМЕНЬШИЙ(A1:A5;СЧЁТЕСЛИ(A1:A5;0)+1)
Как это работает: С помощью функции СЧЁТЕСЛИ мы подсчитываем количество нулей в диапазоне и прибавив к этому количеству единицу мы возвращаем первое наименьшее число более нуля с помощью функции НАИМЕНЬШИЙ
Если в диапазоне есть отрицательные числа, то вместо формулы
=НАИМЕНЬШИЙ(A1:A5;СЧЁТЕСЛИ(A1:A5;0)+1) надо использовать формулу
=НАИМЕНЬШИЙ(A1:A5;СЧЁТЕСЛИ(A1:A5;"<=0")+1) Примечание: Решение формулой массива можно применять не только к данным находящимся на листе, но и для виртуальных массивов В файле -примере приведены все решения, включая варианты для диапазонов, содержащих отрицательные числа
Область применения: Любая версия Excel
Комментарий: Этот же прием можно применять для получения среднего значения без учёта нулей в любой версии Excel, хотя начиная с версии Excel 2007, появилась функция СРЗНАЧЕСЛИ() |