Страница: 1 |
Страница: 1 |
Вопрос: Помогите, плиз, нужна формула MIN в Excel
Добавлено: 19.11.07 10:51
Автор вопроса: Markan
Помогите, плиз, формула MIN в Excel для расчета минимального значения без учета нулевых значений и пустых ячеек
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #1
Добавлено: 19.11.07 11:57
Значит так.
открываем редактор VBA (Alt+F11)
создаем новый модуль в книге
(VBAProject(Книга1)->Insert->Module)
Вставляем туда:
Public Function MyMin(r As Range) As Variant
Dim mi As Variant
Dim c As Range
mi = 0
For Each c In r.Cells
If (mi > c And c <> 0) Or (mi = 0) Then mi = c
Next
If mi = 0 Then
MyMin = "Все данные нулевые"
Else
MyMin = mi
End If
End Function
Закрывам редактор VBA.
И в нужную ячейку вставляем формулу:
=MyMin(~ВашРегион~)
Номер ответа: 2
Автор ответа:
Markan
Вопросов: 9
Ответов: 12
Профиль | | #2
Добавлено: 19.11.07 12:23
Работает!
СПАСИБО!!!
Номер ответа: 3
Автор ответа:
angrynews
Вопросов: 33
Ответов: 119
Web-сайт:
Профиль | | #3
Добавлено: 20.11.07 08:14
EUGY
а можно дать толкование этого примера?
Я ни разу не использовал For Each, только FOR. Мне вот это не понятно
For Each c In r.Cells
можно чуть подробнее разжевать, почему r.cells не понятно
Номер ответа: 4
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #4
Добавлено: 20.11.07 08:52
For Each .. In .. Это перебор элементов коллекции.
Параметром функции MyMin выступает объект Range, а у него есть коллекция Cells. А она (эта коллекция) также состоит из объектов Range.
Соответственно строку кода For Each c In r.Cells можно перевести на русский
Для Каждого Элемента В Коллекции Элементов ...
Next
Номер ответа: 5
Автор ответа:
angrynews
Вопросов: 33
Ответов: 119
Web-сайт:
Профиль | | #5
Добавлено: 20.11.07 11:24
Благодарю
Номер ответа: 6
Автор ответа:
angrynews
Вопросов: 33
Ответов: 119
Web-сайт:
Профиль | | #6
Добавлено: 20.11.07 11:28
Т.е. =MyMin(~ВашРегион~) это передача группы ячеек объекта Range в функцию?
Номер ответа: 7
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #7
Добавлено: 20.11.07 12:44
Это передача самого объекта Range