Лесник
Мыслитель
(9574)
12 лет назад
={МИН (ЕСЛИ (A1:A18>0;A1:A18))} для диапазона A1:A18, фигурные скобки появляются при одновременном нажатии Ctrl+Shift+Enter в момент редактирования формулы.
Sam_nvПрофи (763)
12 лет назад
Это именно то, что мне нужно! Спасибо огромное!
PS. Только фигурные скобки встают перед знаком "=".
Андрей Бахматов
Гуру
(4771)
12 лет назад
Если имеем право изменять данные, то проще всего применить стандартный фильтр, если нельзя - есть два пути: формулой или средствами макросов
1)
Для малого числа данных (пример данные A1, B1, C1)
=МИН (ЕСЛИ (A1<=0;МАКС (A1:C1);A1);ЕСЛИ (B1<=0;МАКС (A1:C1);B1);ЕСЛИ (C1<=0;МАКС (A1:C1);C1))
Для массивного объёма данных придётся напротив каждой ячейки написать ЕСЛИ (A1<=0;МАКС ($A$1:$C$1);A1) путём растяжения, и затем применить функцию МИН к диапазону
2)
Находим наибольшее значение ячеек, пишем в переменную mx
Создаём массив, куда в цикле по j заносим результат операции if Cells(i, j).Value <=0 then Massiv[j] = mx else Massiv[j] = Cells(i, j).Value
Находим минимальное значение массива, выводим результат
flash
Просветленный
(26635)
12 лет назад
Самый простой способ, не считая фильтров (их обычно не принимают при обучении, а вопрос, видимо, от сдающего эксел в учебном заведении) :
в дополнительый ряд (колонку/столбец) отбираешь функцией ЕСЛИ положительные числа;
затем из них функцией МИН/МИНА отбираешь минимальное.
Если не справишься (хотя всё очень просто) - пиши.
Kay
Мыслитель
(7956)
12 лет назад
Для усложненной задачи ))) Воспользовался формулрй Константина, т. е. формулой массива.
{=ЕСЛИ (МИН (ЕСЛИ (A1:A10>0;A1:A10))>МИН (ЕСЛИ (A12:A23>0;A12:A23));МИН (ЕСЛИ (A12:A23>0;A12:A23));МИН (ЕСЛИ (A1:A10>0;A1:A10)))}