2

Я не очень хорошо разбираюсь в Excel и не нашел конкретного ответа на это. Я ищу простую формулу для получения максимального значения в конкретном столбце. Мне нужно, чтобы начать поиск со строки 8, например, = MAX(A8:"?«). Я думал, что это будет * или что-то подобное, но это не так. Я не знаю, каким будет последний ряд, потому что он будет отличаться. Как указать, что вторая переменная в формуле должна быть последней строкой в столбце, не зная заранее?

4 ответа4

3

Попробуйте создать "Динамический именованный диапазон". Если у вас есть непрерывные числовые данные от A8 и ниже, то это можно определить как

=OFFSET($A$8,0,0,COUNT($A$8:$A$1048576))

[Excel добавит в названиях листов]

Если вы назовете этот диапазон данных, то вы можете просто использовать

=MAX(Data)

DNR также может пригодиться для других расчетов

В Excel 2007 или более поздних версиях Вы также можете преобразовать свои данные в table а затем вы можете обратиться к определенному столбцу таблицы, который будет увеличиваться в размере по мере увеличения размера таблицы.

Некоторая информация о динамических именованных диапазонах здесь: http://www.contextures.com/xlNames01.html

3

Похоже на решение Барри, но немного чище (на мой взгляд).

=MAX(OFFSET($A:$A,7,0,COUNT($A:$A)))
1

Это некрасиво, но я бы использовал: = MAX(A8: A1048576)

0

Простой способ в 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .