【问题标题】:Google Sheets Formula: Sum if Substring in range of cellsGoogle表格公式:如果子字符串在单元格范围内,则求和
【发布时间】:2020-03-31 17:14:43
【问题描述】:

我有两列:

Col A                    Col B
01.02.2020               17
03.11.2020               24
03.11.2020               12

我尝试根据 Col A 的子字符串对 Col B 求和,如下所示:

=SUMIF(A:A,MID(A:A,4,2)="02",B:B)
=SUMIF(A:A,MID(A:A,4,2)="11",B:B)

这意味着:如果是第二个 (XX.02.XXXX) 月,它应该基于此对 Col B 的值求和。如果是 Col A 的第 11 个月 (XX.11.XXXX),它应该做同样的事情,但对于 Col A 有 11 的单元格。

但是,它不起作用。显然,不能对多个单元执行 MID 功能?

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    您需要为此使用ARRAYFORMULA

    这将给出每个月的总和:

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

    如果您将这些日期格式化为日期,类型为 date,那么您可以使用 MONTH 而不是 MID 来获取月份编号:

    =ARRAYFORMULA(
      SUMIF(
        MONTH(F:F),
        UNIQUE(MONTH(FILTER(F:F, F:F <> ""))),
        G:G
      )
    )
    

    【讨论】:

    • 哇,真快 :) 但是当我执行公式时,它会创建三个带有结果的新行:imgur.com/a/mu6SlT7(标记的单元格是包含公式的单元格)。
    • @JJAbrams 你必须有一些带有空字符串的单元格("")。我更新了公式:NOT(ISBLANK(A:A))(不考虑空字符串为空的单元格)更改为A:A &lt;&gt; ""。现在应该好了。
    • 完美,是的@kishkin :) 我有一个空行,我没有填写日期!谢谢你的帮助!!
    • 我不想污染这个问题,所以我在这里打开了一个新问题:stackoverflow.com/questions/60976657/… 你也知道这个答案吗?谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多