Могут быть моменты, когда вам нужно получить наименьшее (или наибольшее)

значение из диапазона, если наименьшее (или наибольшее) значение не равно нулю. Например, у вас может быть диапазон значений, таких как \ {0, 3, 1, 4, 2}. В этом случае наименьшее значение равно нулю, но вы действительно хотите вернуть 1.

В Excel нет встроенной функции для возврата значения, как указано здесь. Однако вы можете создать формулу, которая поможет. Предполагая, что диапазон значений, которые вы хотите проанализировать, находится в C4: C8, следующая формула вернет наименьшее ненулевое значение:

=IF(MIN(C4:C8)=0,SMALL(C4:C8,COUNTIF(C4:C8,"=0")+1),MIN(C4:C8))

Эта формула использует функцию MIN, чтобы определить, равно ли нулю наименьшее значение в диапазоне. Если это так, то функция МАЛЕНЬКИЙ используется для получения наименьшего значения, исключая нули. (Функция СЧЁТЕСЛИ возвращает количество нулей в диапазоне и, следовательно, сообщает МАЛЕНЬКИЙ, какой элемент из диапазона выбрать.)

Небольшое изменение формулы позволяет использовать ее для возврата наибольшего ненулевого числа в диапазоне:

=IF(MAX(C4:C8)=0,LARGE(C4:C8,COUNTIF(C4:C8,"=0")+1),MAX(C4:C8))

Эти формулы будут работать для любого диапазона, если только диапазон не состоит полностью из нулей. В этом случае #NUM! ошибка возвращается.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2332) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Deriving_High_and_Low_Non-Zero_Values ​​[Получение высоких и низких ненулевых значений].