Другие языки программирования и технологии

подскажите по Экселю! Есть массив А(30) , как в нем найти максимальный элемент и его номер???

Таблицу А (20) располагаете в первом столбце, номера i - в столбце В.
Затем функцией МАКС (А2:А21) находите максимум в массиве.
Номер максимального элемента ищем с помощью функции ВПР.
Там в скобках указываем =ВПР (A23;A2:B21;2;ЛОЖЬ)
А23 - что ищем (т. е значение максимума)
на втором месте A2:B21 - таблица, в первом столбце которой ищется значение А23
2 - номер столбца. (а это В - столбец имеет номер 2)
И функция выдает значение, содержащееся во втором столбце (столбце В) той же строки, что и у искомого значения (А23), т. е. найдется порядковый номер максимального элемента.
Картинку я вам прикрепила в другом вопросе.
Лорд Серг
Лорд Серг
56 353
Лучший ответ
Ты ничего не спутал, задавая вопрос: "подскажите по Экселю! .."
Хороший вариант решения предложила Лара. Этот вариант использует стандартные функции Экселя, но для их работы необходимо поменять столбцы местами. Это не всегда удобно или возможно.
Другой вариант создать новую функцию под эту задачу, назовем ее N_MAX(n), имеющую один аргумент.
Функция помещается в модуль VBA. Для работы функции определенной пользователем надо разрешить работу макросов, если они запрещены.
Разрешение выполнения макросов Сервис -> Макрос -> Безопасность -> Средняя.
Открываем VBA Сервис -> Макрос -> Редактор Visual Basic.
Создаем модуль, в окошке VBAProject кликаем по VBAProject(имя файла) , затем Insert -> Module при этом откроется окошко вставки кода. Вставляем код.
Код:
-------------------------
Function N_MAX(n)
c = ActiveCell.Column
r = ActiveCell.Row
For i = 1 To r - 1
If Cells(i, c + 1) = n Then
N_MAX = Cells(i, c)
End If
Next i
End Function
-------------------------
Переходим в окно Excel
Под данными колонки с заголовком "А (20)" в ячейке В23 вставляем стандартную формулу =МАКС (F2:F21) (как у Лары)
Под данными колонки с заголовком "i" в ячейке А23 вставляем функцию, определенную пользователем =N_MAX(B23)

Похожие вопросы