Как сохранить номер ячейки в Формуле при добавлении строк сверху

у меня есть следующая формула в ячейке M8:

{=SUM((MOD(ROW(M:$M977)-ROW($M),4)=0)*(M:$M977))}

С помощью этой формулы A получаем общее количество часов в неделю по столбцу M из каждой четвертой строки, смотрящей на M16, например m16+m20+m24+m28 и т. д. Я продолжаю добавлять новые данные сверху, поэтому, когда я открываю электронную таблицу, у меня будет самая последняя информация сверху. При добавлении четырех новых строк для моих новых данных формула выглядит так:

{=SUM((MOD(ROW(M:$M977)-ROW($M),4)=0)*(M:$M977))}

как я могу заставить его всегда начинать добавлять на M16, потому что именно там мой новый итог часы на новую неделю будут.

22
задан CharlieRB
19.11.2022 22:38 Количество просмотров материала 2562
Распечатать страницу

2 ответа

поместите значение M16 в конец файла или в ячейку, которую вы не перемещаете! На самом деле, каждый раз, когда вы добавляете строку, автоматически изменяется каждая ссылка на ячейку!

0
отвечен Emanuele Blake Fasano 2022-11-21 06:26

во-первых, вы должны изменить это SUMPRODUCT формула. Он не требует, чтобы вы вводили его как формулу массива и - IMHO - его проще использовать.

=SUMPRODUCT(M16:M977*(MOD(ROW(M16:M977)-ROW(M16),4)=0))

чтобы обойти поведение Excel при вставке строк, я рекомендую превратить ваши данные в таблицу. (Вставить ленту > таблица) это делает ссылку "Все данные в этой области" очень легко, и он обновляет так, как вы хотите, когда таблица становится больше или меньше. В этом случае формула будет выглядеть что-то вроде этого:

=SUMPRODUCT(Table1[Hours]*(MOD(ROW(Table1[Hours])-ROW(Table1[[#Headers],[Hours]])-1,4)=0))

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

=OFFSET(Sheet3!$M,15,0,MATCH(9E+99,Sheet3!$M:$M)-15)

... и Формула, ссылающаяся на это, будет:

=SUMPRODUCT(rngHours*(MOD(ROW(rngHours)-ROW(OFFSET(rngHours,0,0,1,1)),4)=0))

... где rngHours - это то имя, которое вы дали именованному диапазону.


если вы действительно не хотите использовать именованные диапазоны, вы можете хлюпать все в одну большую формулу, но это будет грязно, хотя и функция:

=SUMPRODUCT(OFFSET(Sheet3!$M,15,0,MATCH(9E+99,Sheet3!$M:$M)-15)*(MOD(ROW(OFFSET(Sheet3!$M,15,0,MATCH(9E+99,Sheet3!$M:$M)-15))-ROW(OFFSET(Sheet3!$M,15,0)),4)=0))
0
отвечен Engineer Toast 2022-11-21 08:43

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх