#excel-formula
#excel-формула
Вопрос:
У меня есть следующий массив данных в ячейках B2: E10. Я хочу найти сумму максимальных значений в каждой строке массива… НО в формуле с одной ячейкой (чтобы получить результат в ячейке G12), вместо того, чтобы использовать промежуточные шаги, которые я показал в примере.
Я использую последнюю версию Excel, поэтому у меня есть доступ к формулам массива, LET() и т. Д., Но я изо всех сил пытаюсь достичь своей цели. Проблема в том, что MAX(), кажется, всегда работает со всей сеткой, поэтому подобная формула не работает:
=SUM(MAX(INDEX($B$2:$E$10,SEQUENCE(9),0)))
Возможно, MAX не понимает формулы массива, поэтому я пробовал различные комбинации SORT(), например, но мне не удалось сгенерировать массив индивидуально отсортированных столбцов.
Эта проблема не блокирует меня, но теперь я задал себе вопрос, который мне интересно узнать, есть ли решение (которое может быть очень простым, и я просто не вижу его!).
Ответ №1:
MAX принимает массивы в качестве записи, поэтому он будет видеть все возвращаемые значения, прежде чем найти max.
Мы можем использовать MAXIFS и OFFSET для создания массива выходных данных построчно:
=SUM(MAXIFS(OFFSET(B2:E2,SEQUENCE(9,,0),0,1,4),OFFSET(B2:E2,SEQUENCE(9,,0),0,1,4),"<>"))
Другой вариант — ПРОМЕЖУТОЧНЫЙ ИТОГ и СМЕЩЕНИЕ:
=SUM(SUBTOTAL(4,OFFSET(B2:E2,SEQUENCE(9,,0),0,1,4)))
Комментарии:
1. Один ответ, и он сказал мне две вещи, которых я не знал! Я играл с MAXIFS, но не использовал трюк <>, когда все ячейки соответствуют критериям, а ПРОМЕЖУТОЧНЫЙ ИТОГ для меня совершенно новый! Большое спасибо, Скотт.