Как сложить произвольное количество ячеек

У меня есть электронная таблица, в которой для каждого столбца / категории я подсчитываю значения за последние X дней с другого листа.

Этот X отличается для разных столбцов / категорий.

Вот уравнение, на которое я сейчас обращаюсь, которое рассчитывает до значений за неделю, в зависимости от значения D$2 (количество дней, которое я хочу подсчитать). (Уравнение было отформатировано, чтобы людям было легче читать):

=               Daily!D15 
 + IF(D$2 >= 2, Daily!D14, 0)  
 + IF(D$2 >= 3, Daily!D13, 0) 
 + IF(D$2 >= 4, Daily!D12, 0)  
 + IF(D$2 >= 5, Daily!D11, 0) 
 + IF(D$2 >= 6, Daily!D10, 0)  
 + IF(D$2 >= 7, Daily!D9 , 0)

Это прекрасно работает, пока я хочу подсчитать где-нибудь от 1-7 дней. Но я хотел бы обновить эту таблицу, чтобы она могла подсчитывать произвольное количество дней без необходимости изменять уравнение. Я хотел бы иметь возможность подсчитывать, например, 100 дней без необходимости создавать уравнение с 99 операторами IF в нем.

1 ответ

Решение

Смещение действительно удобно. Возвращает диапазон ячеек относительно заданной ссылки. В вашем примере вы бы использовали:

=SUM(OFFSET(Daily!D15,0,0,-D$2,1))

Объяснить: начиная со ссылки Daily!D15, мы сдвигаем 0 строк и 0 столбцов, затем выбираем диапазон с D$2 строками и 1 столбцом. Поскольку -D$2 отрицательно, диапазон расширяется вверх, а не вниз.

Последние два аргумента ('высота' и 'ширина') являются необязательными - если их опустить, возвращаемый диапазон будет иметь те же размеры, что и предоставленный нами диапазон. На самом деле, в этом случае мы могли бы использовать =SUM(OFFSET(Daily!D15,0,0,-D$2))и ширина 1 столбца подразумевалась бы шириной Daily!D15, Однако для удобства чтения я хотел бы включить оба измерения или ни одного.

Другие вопросы по тегам