Получить предыдущий индекс строки в Google Sheets, где определенное значение столбца равно нулю - PullRequest
0 голосов
/ 05 июля 2019

Рассмотрим лист вроде:

rowNr | Another Col | Filled    | Cumul. Size
0       2             -1000       -1000
1       3              1000        0
2       1             -5000       -5000
3       4              5000        0
4       5             -10000      -10000
5       2             -10000      -20000
6       1             -20000      -40000
6       4              40000       0

Кумул. Столбец «Размер» отображает совокупную сумму «заполненного» столбца.

каждый раз, когда Cummulutive Size = 0, мне нужно вычислить сумму «Другой столбец» для всех предыдущих строк, пока «Cummulutive Size»! = 0 снова. Для строк, в которых «Совокупный размер» = 0, выведите «» (пусто)

Так что-то вроде этого:

rowNr | Another Col | Filled    | Cumul. Size | calculated
0       2             -1000       -1000  
1       3              1000        0            5
2       1             -5000       -5000 
3       4              5000        0            5
4       5             -10000      -10000 
5       2             -10000      -20000 
6       1             -20000      -40000 
6       4              40000       0            12

Я уверен, что смогу создать что-то работающее, если смогу найти функцию с сигнатурой, похожей на: findPreviousRowIndex(curRowIndex, whereCondition)

Любые указатели высоко ценится

EDIT Ссылка на пример Google Sheet

1 Ответ

0 голосов
/ 05 июля 2019

вставьте в ячейку D2 и перетащите вниз:

=ARRAYFORMULA(IF(LEN(A2), IF(C2=0, SUM(INDIRECT(ADDRESS(IFERROR(MAX(IF(
 INDIRECT("C1:C"&ROW()-1)=0, ROW(A:A), ))+1, 2), 1, 4)&":A"&ROW())), ), ))

0

...