![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 05.12.2008
Сообщений: 2
|
![]()
оочень простая на первый взляд задача: есть масив данных в экселе нужно найти максимальное значение с конца на n-значение
например, есть данные 4 6 7 8 9 10 нужно найти максимально отсающее от самого максимального на 3 числа. т.е. правильный ответ 8 вот моё творение Function maxX(rng As Range, cut As Byte) As Single Dim q As Object, w1 As Single, w2 As Single, w3 As Single, w4 As Single, i As Byte w3 = 1E+19 For i = 1 To cut For Each q In rng w1 = q.Value If w1 > w2 And w1 < w3 Then w2 = w1 ' If w3 = w4 And w1 = w3 Then w2 = w1 'Debug.Print w1, " ", w2, " ", w3, " ", w4 w4 = w1 Next w3 = w2 w2 = 0 w4 = 0 Next i maxX = w3 End Function моя проблема: если в массиве нет повторящихся чисел, то всё работает отлично, но если есть повторящиеся то начинаются проблемы, а имено берём старый пример 4 6 7 8 9 9 теперь моя фунция выдаёт нет 8, а 7 что для решения моей проблемы является не приемлимым.... источник ошибки я нашёл и сам он строке w1 < w3, нужно ещё добовлять or w3=w4 (по моему мнению), но тогда алгоритм спотыкацца в другом месте.... и дальше что делать я не знаю |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
без макросов:
есть функция НАИБОЛЬШИЙ. посмотрите справку по ней, там все написано. или одной строкой в ВБА: L3 = worksheetfuntion.large(range, 3) вместо range укажите свой диапазон
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 05.12.2008
Сообщений: 2
|
![]()
да... блин всё оказалось проще чем я думал
![]() ![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как отсортировать массив под данный отрезок и как минимум и максимум из него найти | SIEGER | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 20.11.2008 08:58 |