【问题标题】:Sum above cells ignoring blanks在忽略空格的单元格上方求和
【发布时间】:2016-09-23 11:51:28
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: google-sheets formulas


    【解决方案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)并使用 @ 987654328@ 和 ADDRESS 结束数组我想在当前单元格上方仅包含一个单元格。

    • 然后我使用我构建的范围中有一个数值的条件,因此不包括空格。

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

    【讨论】:

    • 非常感谢 Aurielle !这正是我需要的。我将研究公式并将其调整为真实的电子表格。我还在学习,我认为这个公式会在其他电子表格中派上用场。再次感谢。
    【解决方案2】:

    在 A3 中试试这个并抄下来:

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

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

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

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

    【讨论】:

    • 我一直在尝试,它似乎没有抛出#VALUE!我重新排序时出错(就像我之前的试验中发生的那样),这是一件好事。但我更喜欢在预期交易但尚未完成时将单元格留空。
    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2016-03-24
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多