Да, это может быть сделано.
Попробуйте это здесь:
=SUM(INDIRECT(ADDRESS((CELL("row",B1)-1)*7+1,1)):INDIRECT(ADDRESS((CELL("row",B1))*7,1)))
Редактировать:
благодаря Майку Вудхаусу (см. его ответ) я могу немного упростить свое решение.
Row()
(в ячейке "B1") будет делать то же, что и CELL("row",B1)
поэтому
=SUM(INDIRECT(ADDRESS((ROW()-1)*7+1,1)):INDIRECT(ADDRESS(ROW()*7,1)))
сделать то же самое немного проще.
Объяснение:
Вам нужно рассчитать адреса тогда.
(CELL("row",B1)-1)*7+1
даст вам стартовую ячейку. CELL("row",B1)
дает мне номер текущей строки. Вычтите 1, умножьте на 7 и сложите 1, чтобы получить для каждой строки начальную ежедневную строку в виде числа.
ADDRESS((CELL("row",B1)-1)*7+1,1)
делает адресную строку из чисел, я даю вычисленный начальный номер строки и столбец (1 в конце)
INDIRECT(ADDRESS((CELL("row",B1)-1)*7+1,1))
косвенно создает диапазон из строки.
Так же, как и для последней разыскиваемой ячейки. INDIRECT(ADDRESS((CELL("row",B1))*7,1))
разница только в расчете конечной строки.
Тогда я отдаю все это Sum
и я готов. Просто скопируйте его 52 раза, и вы получите сумму за каждую неделю.