Вставка формулы в ячейку после каждой n-й строки и увеличение числа на +1 в формуле

Я хотел бы использовать формулу =SUM(B2:B3) в ячейках A1, A5, A9 и т. Д., Но хотел бы увеличить формулу следующим образом =SUM(B5:B6) и т. Д.

Вот мои ссылки на электронные таблицы.

То, что я пытаюсь сделать, не так просто, как я писал изначально, но логика должна быть такой же.

У меня есть две вкладки на листе, а именно «Тикеры» и «Информация о запасах». На вкладке Tickers я перечислил все символы тикеров в столбце A последовательно.

В другой вкладке у меня есть формула в ячейке B1 '= tickers! A1', которая получает символ тикера от Tab Tickers.

В ячейках А2 и В2 у меня есть эта формула соответственно

=index(importhtml("https://www.gurufocus.com/stock/"&$B1&"/summary","table",6),,1)

=index(importhtml("https://www.gurufocus.com/stock/"&$B1&"/summary","table",6),,2)

Каждая таблица тикеров заполняет примерно 24-25 строк, а затем я хочу повторить процесс для всех тикеров в первой вкладке.

Я также поделился ссылкой на электронную таблицу здесь.

https://docs.google.com/spreadsheets/d/1uyc-KWvg45QLR4l1CvrKAFIMEZFh-dKIyI12t9Hvi5A/edit?usp=sharing

Всего 3 ответа


пытаться:

=ARRAYFORMULA(IFERROR(IF(B1:B<>"",,QUERY(IF(B1:B="",,
 MMULT(N(TRANSPOSE(IF((TRANSPOSE(ROW(
 INDIRECT("B1:B"&MAX(IF(B1:B="",,ROW(B1:B))))))>=ROW(
 INDIRECT("B1:B"&MAX(IF(B1:B="",,ROW(B1:B))))))*(
 {""; TRANSPOSE(TRIM(SPLIT(QUERY(REPT("♦"&ROW(INDIRECT("B1:B"&COUNTBLANK(
 INDIRECT("B1:B"&MAX(IF(B1:B="",,ROW(B1:B))))))), 2)&"♦",,999^99), "♦")))}=TRANSPOSE(
 {""; TRANSPOSE(TRIM(SPLIT(QUERY(REPT("♦"&ROW(INDIRECT("B1:B"&COUNTBLANK(
 INDIRECT("B1:B"&MAX(IF(B1:B="",,ROW(B1:B))))))), 2)&"♦",,999^99), "♦")))})), 
 INDIRECT("B1:B"&MAX(IF(B1:B="",,ROW(B1:B)))), 0))), ROW(
 INDIRECT("B1:B"&MAX(IF(B1:B="",,ROW(B1:B)))))^0)), "offset 2", 0))))

0


если вы хотите перетащить формулу используйте:

=IF(B1<>"",,SUM(INDIRECT("B"&ROW()+1&":B"&ROW()+2)))

0


Я обнаружил, что это также работает:

=ARRAYFORMULA(IF((MOD(ROW(A:A),3)=1)*({B2:B;""}<>""),VLOOKUP(FLOOR(ROW(A:A)-1,3),QUERY({FLOOR(ROW(A:A)-1,3),N(B:B)*(MOD(ROW(B:B)-1,3)>0)},"select Col1,SUM(Col2) group by Col1"),2,0),))

Вот образец листа .


Есть идеи?

10000