【问题标题】:count empty cells until the next filled cell计数空单元格,直到下一个填充单元格
【发布时间】:2020-07-18 15:32:55
【问题描述】:

我有一个类似于下面的表格,并且喜欢自动计算总和列。每天的行数不同。我正在寻找一种方法来查找当前行之后的日期列中的空单元格的数量。该数字随后可用于填充总和列。

不管下面的解决方案是否有一种方法来计算日期之间的空单元格的数量?

Date      |Value|Sum
----------+-----+---
16/07/2020|    2|  5
          |    3|
17/07/2020|    2| 10
          |    3|
          |    5|
18/07/2020|    2| 11
          |    3|
          |    5|
          |    1|

【问题讨论】:

    标签: google-sheets sum google-sheets-formula array-formulas gs-vlookup


    【解决方案1】:

    如果您从第 1 行开始使用:

    =ARRAYFORMULA(IF(A:A="",,VLOOKUP(A:A, QUERY({VLOOKUP(ROW(A:A), 
     FILTER({ROW(A:A), A:A}, A:A<>""), 2), B:B},
     "select Col1,sum(Col2) group by Col1"), 2, 0)))
    


    =ARRAYFORMULA(IFNA(VLOOKUP(A:A, QUERY(IF(B:B="",,VLOOKUP(ROW(A:A), 
     IF(A:A<>"", {ROW(A:A), A:A}), 2, 1)),
     "select Col1,count(Col1) 
      where Col1 is not null 
      group by Col1 
      label count(Col1)''"), 2, 0)))
    

    【讨论】:

    • 非常感谢。不管这个解决方案是否有一种方法来计算日期之间的空单元格的数量?
    • 非常感谢。它有效,但为什么第二个公式中的“B”列很重要?
    • 这很重要,否则您将获得电子表格所有行的计数。请参阅 F1 并注意 F19 - docs.google.com/spreadsheets/d/…
    【解决方案2】:

    我认为你不需要第一个问题的答案来找出总和的答案。

    将整个 C 列留空,在 C1 中试试这个:

    =ARRAYFORMULA({"Sum";IF(A2:A="",,VLOOKUP(A2:A,QUERY({VLOOKUP(ROW(A2:A),FILTER({ROW(A2:A),A2 :A},A2:A""),2),B2:B},"Select Col1,SUM(Col2) group by Col1"),2,0))})

    如果这不起作用,在样本表上展示这个想法可能会更容易。

    【讨论】:

    • 马特,有趣:你发的和我发的一样,我们的想法完全一样。
    • @ErikTyler 那会发生的:)
    【解决方案3】:

    安德烈,试试这个:

    1.) 完全删除 C:C(包括标题)。

    2.) 将以下公式放入单元格 C1:

    =ArrayFormula({"Sum";IF(A2:A="","",VLOOKUP(A2:A,QUERY({VLOOKUP(ROW(A2:A),FILTER({ROW(A2:A),A2:A},A2:A<>"",B2:B<>""),2,TRUE),B2:B},"Select Col1, SUM(Col2) Group By Col1"),2,FALSE))})
    

    更新:

    您的帖子示例显示了标题。然后,我建议的公式解释了这些标题。由于您的实际样本表不同,并且不像原始帖子那样使用标题,因此您将使用此版本:

    =ArrayFormula(IF(A:A="","",VLOOKUP(A:A,QUERY({VLOOKUP(ROW(A:A),FILTER({ROW(A:A),A:A},A:A<>"",B:B<>""),2,TRUE),B:B},"Select Col1, SUM(Col2) Group By Col1"),2,FALSE)))
    

    【讨论】:

    • 不幸的是,它不起作用并在解析公式时导致错误。我创建了一个简单的示例表:docs.google.com/spreadsheets/d/…
    • 我提供的公式(以及马特提供的那个)假设您的数据列有一个标头,这是标准的。它没有。我编辑了我的帖子以显示没有标题的版本,效果很好。
    • 我真正的问题有一个标题,而且要复杂得多。我简化了问题和示例表。
    • 对马特和我来说唯一的问题是帖子中的示例(带标题)与工作表(不带标题)不匹配。这就是为什么原始公式不起作用的原因:因为它们是为标题编写的。但在一天结束时,你解决了它。这是主要目标。
    猜你喜欢
    • 2015-09-05
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    相关资源
    最近更新 更多