对忽略空白的单元格求和

Sum above cells ignoring blanks

我有一个点差sheet,其中我有来自银行账户的数据。每笔银行交易都有一个日期,并指示该交易是否已经完成或是否只是预期。完成后,必须将其添加到最新的总余额中。如果不是,则最新的总余额必须为空。我需要自动过滤数据,这样我就可以根据日期或其他条件对其进行过滤和排序,这就是我一直使用这个公式的原因:

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

这里的问题是,当上面的单元格为空时,总金额会重置,并从该交易的价值开始。我需要一个忽略上方空白单元格的公式,并将上方所有非空白单元格加上该交易的金额相加。

此外,一旦我将 "Done" 列中的 "N" 更改为 "Y",我需要更新公式并显示正确的余额。

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

在 A3 中试试这个并抄下:

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

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

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

复制下来然后隐藏 A 列。

好的,我想我明白你的意思 - 如果我感到困惑,请告诉我,但我在你的 sheet 上添加了一个例子......基本上我最终做的是包括其中一个你的条件,然后还添加了另一个函数来通过 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 in你的例子)并使用 INDIRECTADDRESS 来结束我想在当前单元格上方恰好包含一个单元格的数组。

  • 然后我使用的条件是我建立的范围内有一个数字值,因此不包括空白。

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