在单元格之上求和,忽略空格

时间:2016-09-23 11:51:29

标签: google-sheets formulas

我有一张电子表格,其中包含来自银行帐户的数据。每个银行交易都有一个日期和一个指示,如果该交易已经完成或者是否只是预期。当它已经完成时,必须将其添加到最新的总余额中。如果没有,那么最新的总余额必须为空白。我需要自动过滤数据,因此我可以根据日期或其他条件对其进行过滤和订购,这就是我使用此公式的原因:

=IF(D3="Y";B3+INDIRECT(ADDRESS(ROW()-1;COLUMN()));"")

问题在于,当上面的单元格为空时,总和将重置,并从该事务的值开始。我需要一个忽略上面空白单元格的公式,并将上面所有非空白的单元格加上该事务的数量加起来。

此外,一旦我改变了" N"在"完成"列到" Y"我需要更新公式并显示正确的余额。

我分享了一个示例表,以便更好地理解https://docs.google.com/spreadsheets/d/1_gk0YaziUhOZfRbrlfHizMrVu6OT7njIaTUyQaE6Lbs/edit?usp=sharing

2 个答案:

答案 0 :(得分:1)

在A3中试一试并复制:

=IF(D3="Y";B3+INDIRECT(ADDRESS(ROW()-1;COLUMN()));A2+0)

如果你想显示" N"行为空白,添加一列(B)填写标题和起始编号(5000)然后将其放入B3:

=if(E3="N";"";A3) 

将其复制下来然后隐藏A列。

答案 1 :(得分:1)

好的我认为我理解你的目的 - 如果我感到困惑,请告诉我,但我在你的表上添加了一个例子......基本上我最终做的是包括你的一个条件,但是添加另一个函数以filterindexcounta排除空行。它看起来比它复杂,因为我将它全部嵌套回一个公式:

=IF(I3="Y";sum(G3;index(filter(indirect("F2:"&address(row()-1;column();4));ISNUMBER(indirect("F2:"&address(row()-1;column();4))));counta(filter(indirect("F2:"&address(row()-1;column();4));ISNUMBER(indirect("F2:"&address(row()-1;column();4)))))););)
  • 要从里到外工作 - 我排除空行的方法是使用FILTER从第一行获取所有行的值(在示例中为A2)和使用INDIRECTADDRESS结束数组我希望在当前单元格上方包含一个单元格。

  • 然后我使用我建立的范围中包含数字值的条件,除了空白之外。

  • 为了获得最后一个值,我使用COUNTA找出过滤器中的总行数,然后用INDEX包装公式以使用counta值作为行返回(自动是当前单元格上方的最后一行)

enter image description here