Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2011, 11:43   #1
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию пользовательская функция МАКСЕСЛИМН

Помогите, пожалуйста!
Необходима функция МАКСЕСЛИМН, то есть аналогичная СУММЕСЛИМН, но ищущая максимальное значение в массиве с рядом условий.

P.S. Знаю, что такую проблему можно решить формулами массива, но такое решение не подходит, так как массив не имеет постянных границ, в нем удаляются и добавляются строки и т.д., а считать массивом столбец целиком формулы не позволяют.
Пример массива во вложении.
Заранее спасибо!
Вложения
Тип файла: rar Пример.rar (7.0 Кб, 48 просмотров)
Zorg вне форума Ответить с цитированием
Старый 27.09.2011, 16:19   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
но ищущая максимальное значение в массиве с рядом условий.
Среди чего искать максимальное значение? Что за ряд условий?
Как предполагается задавать массив?
Вопросов больше чем ответов
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 27.09.2011, 17:51   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Не вылизывал, но уже работает:

Код:
Option Explicit

Function MaxJesliMn(MaxRange As Range, IfRange As Range, uslovie)
Dim r As Range, i&
For Each r In MaxRange.Columns(1).Cells
i = i + 1
If IfRange.Columns(1).Cells(i).Value = uslovie Then
If MaxJesliMn < r.Value Then MaxJesliMn = r.Value
End If
Next
End Function
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 27.09.2011 в 17:53. Причина: так понятнее что к чему в диапазонах...
Hugo121 вне форума Ответить с цитированием
Старый 28.09.2011, 15:12   #4
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию

to Hugo121
Да, огромное спасибо, именно то, что нужно, но в данном случае это формула МАКСЕСЛИ, а нужна МАКСЕСЛИМН, то есть? чтобы условий и диапазонов условий было несколько.
Как ее так переделать, не подскажете?
Zorg
Zorg вне форума Ответить с цитированием
Старый 28.09.2011, 16:09   #5
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию

to Hugo121

Все, сам переделал, СПАСИБО! ))
Zorg вне форума Ответить с цитированием
Старый 16.04.2012, 11:59   #6
DeniTaipov
Новичок
Джуниор
 
Регистрация: 16.04.2012
Сообщений: 1
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Не вылизывал, но уже работает:

Код:
Option Explicit

Function MaxJesliMn(MaxRange As Range, IfRange As Range, uslovie)
Dim r As Range, i&
For Each r In MaxRange.Columns(1).Cells
i = i + 1
If IfRange.Columns(1).Cells(i).Value = uslovie Then
If MaxJesliMn < r.Value Then MaxJesliMn = r.Value
End If
Next
End Function
Привет помоги пожалйста. этот код который ты написал как его использовать?
DeniTaipov вне форума Ответить с цитированием
Старый 16.04.2012, 12:33   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

http://www.planetaexcel.ru/tip.php?aid=122
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 22.06.2012, 11:43   #8
IIY
Новичок
Джуниор
 
Регистрация: 22.06.2012
Сообщений: 1
По умолчанию

Hugo121,
написанная тобой функция работает только для массива положительных чисел.
Подскажи, пожалуйста, как переделать эту функцию, чтобы она работала и для массива, который состоит, в том числе, и с отрицательных чисел?
IIY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пользовательская функция с неопределенным количеством параметров savraska Microsoft Office Excel 1 23.05.2010 12:00
Пользовательская функция с необязательными параметрами savraska Microsoft Office Excel 2 23.05.2010 11:47
Пользовательская функция вместо формулы - ДАТАМЕС KOSTIK1 Microsoft Office Excel 9 12.05.2010 13:38
Пользовательская функция,возвращающая массив savraska Microsoft Office Excel 2 20.04.2010 03:12
Пользовательская функция с диапазоном в качестве параметра SanSanblch Microsoft Office Excel 2 29.05.2009 17:37