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

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

Вот моя таблица ссылки.

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

У меня есть две вкладки на листе, а именно «Тикеры» и «Сведения о складе». Во вкладке «Тикеры» я последовательно перечислил все символы тикеров в столбце А.

В другой вкладке в ячейке B1 '= tickers! A1' есть формула, которая получает символ тикера из вкладок «Тикеры».

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

=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 ]

1 голос
/ 10 февраля 2020

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

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

0

1 голос
/ 10 февраля 2020

попробовать:

=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

0 голосов
/ 10 февраля 2020

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

=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),))

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...