Рассчитать ПРОДУКТ поддиапазона в диапазоне Google Sheets - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть диапазон с типом для столбцов и уровнем для строк. Мне нужно найти ПРОДУКТ поддиапазона от уровня 1 до данного уровня данного типа.

До сих пор я пытался найти положение начальной и конечной ячеек поддиапазона, используя :

=CELL("address",INDEX(A1:N21,2,MATCH(R4,A1:N1,0)))

=CELL("address",index(A1:N21,R3+1,match(R4,A1:N1,0)))

Тогда я подумываю использовать CONCATENATE для получения адреса диапазона, но он возвращает 0.

Пример листа: https://docs.google.com/spreadsheets/d/1byIjDzHZE6s5N1PcN9yvSeC51bm9NVVC1tc1gjQQLHA/edit#gid = 0

Ответы [ 2 ]

3 голосов
/ 14 апреля 2020

Вы правы, вам не нужна такая длинная формула. Index возвращает ссылку на ячейку, поэтому вы можете сделать что-то в форме index (... startrow, startcol): index (... endrow, endcol), например так:

=PRODUCT(INDEX(A1:N21,2,MATCH(R4,A1:N1,0)):INDEX(A1:N21,R3+1,MATCH(R4,A1:N1,0)))

enter image description here

Еще короче смещение:

=PRODUCT(offset(A1,1,MATCH(R4,A1:N1,0)-1,R3,1))
0 голосов
/ 14 апреля 2020

Я нашел одно решение, используя ссылку на диапазон:

=PRODUCT(INDIRECT(CELL("address",INDEX(A1:N21,2,MATCH(R4,A1:N1,0)))&":"&CELL("address",INDEX(A1:N21,R3+1,MATCH(R4,A1:N1,0)))))

Однако, это довольно долго. Я хотел бы иметь лучшее решение по делу.

...