【问题标题】:Fill missing dates in Google Sheets在 Google 表格中填写缺失的日期
【发布时间】:2020-07-13 13:02:39
【问题描述】:

我有两列:

Col A                    Col B
01.02.2020               17
03.11.2020               24
03.11.2020               12

正如我在另一个 question 中所说,我尝试根据 Col A 中的月份对 Col B 求和。解决方案是以下公式(没有排序):

=ARRAYFORMULA(
  SUMIF(
    MID(A:A, 4, 2),
    SORT(UNIQUE(MID(FILTER(A3:A, A3:A <> ""), 4, 2))),
    B:B
  )
)

我错过了失踪月份的人口。因此我的问题是:如何在输入值之前用缺失的月份和零填充结果表?上表的期望输出是:e

Col A                    Col B               Col C
01.02.2020               17                  0
03.11.2020               24                  17
14.12.2020               100                 0
03.11.2020               12                  0
                                             0
                                             0
                                             0
                                             0
                                             0
                                             0
                                             36
                                             100

【问题讨论】:

    标签: google-sheets sum google-sheets-formula array-formulas sumifs


    【解决方案1】:

    如果只是为当年做,应该够了

    =ArrayFormula(sumif(mid(A2:A,4,2),sequence(12),B2:B))
    

    【讨论】:

    • 哦,太好了,非常感谢!你能解释一下为什么我可以跳过整个排序部分:SORT(UNIQUE(MID(FILTER(A3:A, A3:A "") ?
    • 您之前需要唯一和排序,因为 (1) 月份可能以任何顺序出现,因此您需要对它们进行排序,并且 (2) 它们可以重复(它们在您的示例数据中)所以您需要唯一才能删除重复项。在我的例子中,我只是使用 Sequence 来生成一个从 1 到 12 的数字列表并对每个数字进行 sumif ,所以这两个问题不会出现(因为它们已经是唯一的并且按升序排列)。跨度>
    • @TomSharpe 这在 2 月怎么会有效? MID 给出字符串02SEQUENCE 给出数字2,它们不相等。我分别尝试过-不相等,但是您给出的整个公式都有效。 screenshot
    • 恐怕我只能给你一个相当挥舞着手臂的解释 - 当上下文需要时,字符串会转换为数字,例如如果你写 ="2"+"2" 你会得到答案 4。我想在某种程度上我很幸运假设这会发生在 sumifs 中。
    • @TomSharpe,@kishkin 谢谢你们俩 :)
    【解决方案2】:

    替代方案:

    =ARRAYFORMULA(IFNA(VLOOKUP(ROW(A1:A12), QUERY(A:B, 
     "select month(A),sum(B) group by month(A)"), 2, 0), 0))
    

    【讨论】:

    • 非常好,谢谢!其他答案有优势还是只是一种替代方法?
    • 只是一种替代方法
    • 感谢您的回答,Player0 :)
    猜你喜欢
    • 1970-01-01
    • 2016-08-24
    • 2018-06-24
    • 2018-10-05
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多