powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / максимум
4 сообщений из 4, страница 1 из 1
максимум
    #35697359
2meteor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
оочень простая на первый взляд задача: есть масив данных в экселе нужно найти максимальное значение с конца на 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 (по моему мнению), но тогда алгоритм спотыкацца в другом месте.... и дальше что делать я не знаю
...
Рейтинг: 0 / 0
максимум
    #35697537
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
Sub test()
    MsgBox Application.Large(Array( 4 ,  6 ,  7 ,  8 ,  9 ,  9 ),  3 )
End Sub
...
Рейтинг: 0 / 0
максимум
    #35697690
2meteor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ага спасиб... добрые люди ещё подсказали есть стандартная функция наибольший
...
Рейтинг: 0 / 0
максимум
    #35697735
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это она и есть, только в VBA все на английском :-)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / максимум
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]