Я надеюсь, что это простая проблема, которую нужно решить, но я пока не смог найти решение.

Я пытаюсь взять длинный список чисел и найти наибольшее значение в каждой группе из 60.

Найти самое высокое значение в столбце очень просто, но как мне повторить следующую формулу?

=MAX(B1:B60)

Как мне написать формулу, чтобы я также мог найти максимум B61:B120 и так далее по всему столбцу?

2 ответа2

1

Вот еще одно решение:

Скриншот рабочего листа

Введите следующую формулу в любом столбце (например, C ) и ctrl-enter/copy-paste/ заполните этот столбец:

=MAX(INDEX(B:B,1+60*(ROW()-1)):INDEX(B:B,60*ROW()))

Обратите внимание, что всегда лучше использовать INDEX() вместо INDIRECT() как он энергонезависимый. Для небольших таблиц это не имеет большого значения, но для более крупных изменчивые функции замедляют вычисления. Лучше всего привыкнуть использовать только энергонезависимые функции. (Где это возможно, конечно.)

Кроме того, что более важно, в этом конкретном случае (и в целом) формула с INDIRECT() будет нарушена, если столбец будет вставлен слева от целевого столбца.

0

Теперь, когда ясно, что вы ищете, вам нужна следующая функция:

=MAX(INDIRECT("$B"&(60*ROW()-59)):INDIRECT("$B"&(60*ROW())))

Скопируйте это в первые N строк в любой столбец, который вы выбрали для результатов, где N - количество строк в столбце B , разделенное на 60.

Функция INDIRECT() преобразует строку, содержащую ссылку на ячейку, в содержимое ячейки, поэтому первые две строки столбца результатов будут преобразованы в:

=MAX($B1:$B60)
=MAX($B61:$B120)

Я использовал абсолютную ссылку на столбец $B чтобы подчеркнуть, что вы можете перейти к другому столбцу, не влияя на результаты, хотя это и не нужно, поскольку ссылки на столбцы находятся в тексте, который не будет изменен при копировании формулы в другие ячейки.

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