首页 > 解决方案 > 获取谷歌表格中某些列值为零的上一个行索引

问题描述

考虑如下表格:

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

'累积。大小'-列显示'填充'列的累积总和。

每次累积大小 = 0 时,我需要计算所有先前行的“另一列”的总和,直到“累积大小”!= 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)

非常感谢任何指针

编辑 链接到示例谷歌表

标签: if-statementgoogle-sheetsgoogle-sheets-formulaarray-formulassumifs

解决方案


粘贴到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


推荐阅读