У меня есть числа в диапазоне D7: D и бывают случаи, когда некоторые ячейки пусты. Я хочу усреднить последние 7 чисел, но пропустить пропуски. Так что, если в последних 7 есть только 3, которые заполнены, я хочу вернуться и найти 7 итогов и усреднить их.
google-sheets
formulas
google-sheets-query
google-sheets-arrayformula
filter
Губка Боб Квадратные Штаны
источник
источник
TL; DR
пример
объяснение
=COUNT(A:A)
. Клетки, содержащие текст, не учитываются. Наш пример даст нам9
=COUNT(A:A)-7
. Это даст нам2
.Теперь мы используем функцию смещения для получения диапазона полного столбца, но со смещением в 2 ячейки, что фактически означает, что у нас осталась только часть столбца с оставшимися ровно 7 значениями
Представьте столбец без пустых ячеек перед первой ячейкой со значениями. Тогда упрощенный пример может выглядеть так
=OFFSET(A:A; COUNT(A:A)-7 ;0)
. Но это не сработает, как только столбец начинается с пустых ячеек, как показано на рисунке выше.Теперь нам нужно увеличить смещение на количество пустых ячеек. Это не значит, что мы считаем все пустые значения подряд. Только те, что перед первой непустой ячейкой.
Вы можете сосчитать их
=MATCH(TRUE;INDEX(A:A<>0);0)-1
и получить6
как результат или наш примерТеперь мы изменим нашу функцию смещения и добавим это количество, чтобы получить правильный диапазон, содержащий только 7 значений
OFFSET(A:A; COUNT(A:A)-7 + MATCH(TRUE;INDEX(A:A<>0);0)-1 ;0)
В качестве последнего шага мы рассчитаем среднее значение этого диапазона. Наш пример даст нам 4 в результате, так как в среднем 1,2,3,4,5,6,7 равно 4.
=AVERAGE(OFFSET(A:A;COUNT(A:A)-7 + MATCH(TRUE;INDEX(A:A<>0);0)-1;0))
источник
Еще один способ:
Explantion:
РЕДАКТИРОВАТЬ: Извините за недоразумение. Выше усреднены самые большие 7 значений, а не последние 7 значений в столбце. Для усреднения по последним 7 значениям решение Нормального Человека является отличным. Альтернативным способом с меньшим количеством функций было бы использование QUERY ()
Предполагая числовые данные в столбце A, попробуйте:
источник
источник