代码之家  ›  专栏  ›  技术社区  ›  Nick Haslam

SUMIF Excel中具有不同行的可变列数

  •  0
  • Nick Haslam  · 技术社区  · 17 年前

    我想在F1中输入一个值,其中包含Jan->的值之和;(C2中规定的月份),其中状态为C1中的值。

    如果你这样做

    你得到25(单元格I2)(这是C5和C8的总和),而我实际想要的结果是50(C5+D5(一月和二月开放)和C8+D8(一月和二月开放))

    希望这有点道理?

    干杯

    alt text http://ntdd2425.fm.netbenefit.co.uk/table.png

    编辑-我希望我能够在不创建中间列的情况下完成这项工作。Excel中的不一致是因为SUM似乎支持多列求和,但SUMIF不支持。所以这确实有效:

    =和(间接连接(地址(5,3),“:”,地址(5,2+C$2)))

    2 回复  |  直到 17 年前
        1
  •  2
  •   richardtallent    17 年前

    我建议将SUM()与数组一起使用:

      =SUM(C5:G11*(IF(COLUMN(C5:G11)<=($C$2+1),1,0)*IF($c$1=b5:b11,1,0)))
    

    使用Ctrl-Shift-Enter键输入该值,使其作为数组公式输入。

    基本上,将三个数组相乘:一个与数据相乘,一个基于“月匹配方式”列的数组为1或0,最后一个基于状态过滤器的数组为1或0。数组的大小不匹配,因此会重复。

        2
  •  0
  •   Robert Mearns    17 年前

    我认为分两步做比较容易。

    添加带有 抵消 函数计算每行的“年初至今”值。基于您的数据的公式为:

    =总额(抵销额(B5,0,1,1,$C$2))

    然后添加一个 苏米夫 以辅助列为目标的函数。

    SUMIF screenshot http://img200.imageshack.us/img200/4392/offset.png