Как сложить произвольное количество ячеек
У меня есть электронная таблица, в которой для каждого столбца / категории я подсчитываю значения за последние 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
, Однако для удобства чтения я хотел бы включить оба измерения или ни одного.