Я не очень хорошо разбираюсь в Excel и не нашел конкретного ответа на это. Я ищу простую формулу для получения максимального значения в конкретном столбце. Мне нужно, чтобы начать поиск со строки 8, например, = MAX(A8:"?«). Я думал, что это будет * или что-то подобное, но это не так. Я не знаю, каким будет последний ряд, потому что он будет отличаться. Как указать, что вторая переменная в формуле должна быть последней строкой в столбце, не зная заранее?
4 ответа
Попробуйте создать "Динамический именованный диапазон". Если у вас есть непрерывные числовые данные от A8 и ниже, то это можно определить как
=OFFSET($A$8,0,0,COUNT($A$8:$A$1048576))
[Excel добавит в названиях листов]
Если вы назовете этот диапазон данных, то вы можете просто использовать
=MAX(Data)
DNR также может пригодиться для других расчетов
В Excel 2007 или более поздних версиях Вы также можете преобразовать свои данные в table
а затем вы можете обратиться к определенному столбцу таблицы, который будет увеличиваться в размере по мере увеличения размера таблицы.
Некоторая информация о динамических именованных диапазонах здесь: http://www.contextures.com/xlNames01.html
Похоже на решение Барри, но немного чище (на мой взгляд).
=MAX(OFFSET($A:$A,7,0,COUNT($A:$A)))
Это некрасиво, но я бы использовал: = MAX(A8: A1048576)
Простой способ в Excel:
=MAX(A8:A1048576)
Создание UDF в VBA. Это учитывает динамическое смещение и суммирует столбец, в котором он размещен:
Function SumColumn(offset As Double)
Dim Data As Range
Set Data = Application.Caller.EntireColumn.Resize(Application.Caller.EntireColumn.Rows.Count - offset, 1).offset(offset, 0)
SumColumn = Application.WorksheetFunction.Sum(Data)
End Function