我有一张电子表格,其中包含来自银行帐户的数据。每个银行交易都有一个日期和一个指示,如果该交易已经完成或者是否只是预期。当它已经完成时,必须将其添加到最新的总余额中。如果没有,那么最新的总余额必须为空白。我需要自动过滤数据,因此我可以根据日期或其他条件对其进行过滤和订购,这就是我使用此公式的原因:
=IF(D3="Y";B3+INDIRECT(ADDRESS(ROW()-1;COLUMN()));"")
问题在于,当上面的单元格为空时,总和将重置,并从该事务的值开始。我需要一个忽略上面空白单元格的公式,并将上面所有非空白的单元格加上该事务的数量加起来。
此外,一旦我改变了" N"在"完成"列到" Y"我需要更新公式并显示正确的余额。
我分享了一个示例表,以便更好地理解https://docs.google.com/spreadsheets/d/1_gk0YaziUhOZfRbrlfHizMrVu6OT7njIaTUyQaE6Lbs/edit?usp=sharing
答案 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)
好的我认为我理解你的目的 - 如果我感到困惑,请告诉我,但我在你的表上添加了一个例子......基本上我最终做的是包括你的一个条件,但是添加另一个函数以filter
,index
和counta
排除空行。它看起来比它复杂,因为我将它全部嵌套回一个公式:
=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)和使用INDIRECT
和ADDRESS
结束数组我希望在当前单元格上方包含一个单元格。
然后我使用我建立的范围中包含数字值的条件,除了空白之外。
为了获得最后一个值,我使用COUNTA
找出过滤器中的总行数,然后用INDEX
包装公式以使用counta值作为行返回(自动是当前单元格上方的最后一行)