【问题标题】:Google Sheets - sumif using condition on row and column谷歌表格 - sumif 在行和列上使用条件
【发布时间】:2021-01-28 10:15:26
【问题描述】:

我有一个如下所示的电子表格

表 1

ID/Month | May | June | July | August | September | October

ID101    | 30  | 50   | 50   | 80     | 20        | 60

ID201    | 20  | 30   | 10   | 40     | 30        | 50

ID101    | 10  | 50   | 60   | 80     | 70        | 20

ID301    | 20  | 80   | 70   | 40     | 40        | 70

ID101    | 30  | 70   | 80   | 50     | 90        | 50

ID301    | 80  | 20   | 30   | 20     | 60        | 20

表 2

ID    | Date      | Value

ID101 | July      | ?

ID201 | September | ?

ID301 | June      | ?

?如果 ID 匹配,并且日期行小于或等于表 2 中指定的日期,则为表 1 中值的总和。

所以

  • 对于ID101 | July | ? ,我需要在表1 和5/6/7 列中的ID101 行中找到值的总和
  • 对于 ID201 | September | ?,我需要在表 1 和 May/June/July/August/September 列中的 ID201 行中找到值的总和

如何进行 sumif 之类的索引匹配表,我可以在其中查找列 (ID) 和行(小于或等于 日期)中的条件

【问题讨论】:

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


    【解决方案1】:

    你需要做三件事:

    • 取消透视表(“宽”到“长”),以便每个值都在自己的行中,由 ID 和月份标识(这有点棘手)
    • 给你的月份一个数值(MONTH() 函数派上用场)
    • 使用 SUMIFS 检查 ID 列和月份列。

    这是一个工作示例:Google Sheets link

    【讨论】:

      【解决方案2】:

      你可以使用SUMPRODUCT函数:

      =SUMPRODUCT((J2=$A$2:$A$7)*(MONTH(K2&1)>=MONTH($B$1:$G$1&1))*$B$2:$G$7)
      

      要使用MONTH(K2&1) 公式将您的月份名称转换为正确的数字,您必须在电子表格设置中指定United States 区域设置

      【讨论】:

        猜你喜欢
        • 2017-11-12
        • 2022-08-21
        • 2020-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多