Вычислить среднее значение из последних 20 значений, введенных без VBA

Мне нужно рассчитать среднее значение из последних 20 значений, введенных в колонку K.

Я уже узнал, что могу найти последнее введенное значение, используя это:

=address(max(match(1e99; K:K)); 11; 4; 1) 

Который будет моим средним концом, и я могу найти свое среднее начало с этим:

 =address(max(match(1e99; K:K))-20; 11; 4; 1) 

Теперь мой вопрос: как я могу использовать оба адреса для создания средней формулы? Это таблица ежедневно получает новые значения, поэтому адрес ячейки будет отличаться каждый день.

Например, эти две формулы будут давать: K424 и K404 соответственно.

Поэтому мне нужно создать среднюю формулу, которая работает так:

 =average(K404:K424) 

Используя результаты предыдущих формул. У меня нет возможности вводить числа, которые я получаю из этих формул.

Я пробовал это, но не работал:

 =average((address(match(1e99; K:K))-20; 11; 4; 1)):(address(match(1e99; K:K)); 11; 4; 1))) 

Если я попробую: =average((address(match(1e99; K:K))-20; 11; 4; 1))&":"&(address(match(1e99; K:K)); 11; 4; 1)))

Я получаю #VALUE

Вы можете сшить две функции INDEX вместе с двоеточием для правильного диапазона ячеек без необходимости использовать изменчивый КОСВЕННЫЙ № для строк, возвращаемых функцией ADDRESS .

 =average(index(K:K; match(1e99; K:K)-19):index(K:K; match(1e99; K:K))) 

Это усреднит последние 20 строк в столбце K.

average_index


¹ Летучие функции пересчитываются всякий раз, когда что-либо во всей книге изменяется, а не только когда что-то, что влияет на их результат, изменяется. Примерами летучих функций являются КОСВЕННЫЕ , СМЕЩЕНИЕ , СЕГОДНЯ , ТЕПЕРЬ , RAND и RANDBETWEEN . Некоторые подфункции функций рабочего листа CELL и INFO также сделают их неустойчивыми.

вы ищете = средний (…)

Попробуйте это – при создании вложенной формулы вам нужно поддерживать строковый литерал для двоеточия.

Результаты обеих address функций должны возвращать строку, например "K404" и "K424" (или, возможно, "$K$404" и "$K$424" ). Вам нужно также поддерживать двоеточие как часть строки, например, так и использовать функцию « Indirect в строке конкатенированной адреса:

 =average(Indirect((address(match(1e99; K:K)); 11; 4; 1))&":"&(address(match(1e99; K:K))-20; 11; 4; 1)))) 

Это еще одна формула для одной и той же вещи

{=SUM(IF(ROW(G:G)>MATCH(1E+99,G:G)-20,G:G,0))/20}

это формула массива, поэтому вам нужно использовать CTRL-SHIFT-ENTER

  • Как подсчитать дни между двумя ограничениями даты в Excel
  • как я могу добавить левую ячейку и верхнюю ячейку с помощью формулы в microsoft excel?
  • Как ограничить Ctrl + End в листе Excel
  • SUMIF по строке в таблице на основе критериев столбца в другой таблице
  • Excel 2013: подсчет числа / строк в ячейке
  • Извлечение данных в формате MS Excel
  • Excel Условный выбор данных по формуле
  • Разбиение чисел в списке и вывод определенного числа из него
  • Дублирование таблицы для других таблиц
  • INDEX / MATCH с использованием номера столбца
  • Как добавить даты недели в Excel
  • Давайте будем гением компьютера.