Excel SUMIFS:如何在指定范围时将列名写入公式?

Excel SUMIFS:如何在指定范围时将列名写入公式?,excel,excel-formula,sumifs,excel-match,Excel,Excel Formula,Sumifs,Excel Match,表中有B列到Z列。我想对包含“Mar-15”作为标题的列求和,前提是列A的值大于或等于“Mar-15” 因此,如果我在表1中有以下内容- A B C D E 1 Mar-15 Apr-15 May-15 Jun-15 2 Feb-15 1 2 3 4 3 Mar-15 100 200 300 400 4 Apr-15 1000 2

表中有B列到Z列。我想对包含“Mar-15”作为标题的列求和,前提是列A的值大于或等于“Mar-15”

因此,如果我在表1中有以下内容-

     A       B       C       D       E
1          Mar-15   Apr-15  May-15  Jun-15
2 Feb-15    1       2       3       4
3 Mar-15    100     200     300     400
4 Apr-15    1000    2000    3000    4000
5 May-15    10000   20000   30000   40000
在Y列和Z列中有如下内容-

    Y       Z
1 Month    Value
2 Mar-15    ?
我想用Z2写一个公式,对标题等于Y2的列中的值求和,其中a列大于或等于Y2。因此,在这里,公式的要求答案是1110,因为Y2包含Mar-15

更清楚地说,如果Y2包含Apr-15,那么Z2中的结果应该是22000

现在,我有了公式

=MATCH(Y2,$1:$1,0)
这给了我2,它是第一行中的列索引,与Y2中的值匹配

=SUMIFS(<something>,A:A,">="&Y2)
然后,我修改它以获得标题的地址-

=ADDRESS(1,MATCH(Y2,$1:$1,0))
这给了我$B$1。为了单独获取该列,我正在做
=LEFT(地址(1,匹配(Y2,$1:$1,0)),2)
,这给了我$B

现在,我想对这个address函数返回的列执行一个
SUMIFS
,并指定列a应该大于Y2中的值的条件

=SUMIFS(<something>,A:A,">="&Y2)
=SUMIFS(,A:A,“>=”&Y2)
什么东西应该是?根据Y2中的值,我要求和的列可能不同。那么,我应该插入什么公式来代替某物呢

我尝试了
LEFT(地址(1,匹配(Y2,$1:$1,0)),2):LEFT(地址(1,匹配(Y2,$1:$1,0)),2)
,因为
LEFT(地址(1,匹配(Y2,$1:$1,0)),2)
给了我$B,我假设这个公式会给我$B:$B,但这行不通。

试试这个公式

=SUMPRODUCT(--(A2:A200>=Y2),INDEX(B2:E200,0,MATCH(Y2,B1:E1,0)))
它使用MATCH查找范围为B2:E200(0表示所选列中的所有行)的列。测试
A2:A200>=Y2
检查指定的第一列,--changes匹配到1,misses匹配到0,
SUMPRODUCT
然后将这些1/09乘以所选列值以获得结果

如果您想进一步阅读,请参见此公式

=SUMPRODUCT(--(A2:A200>=Y2),INDEX(B2:E200,0,MATCH(Y2,B1:E1,0)))
它使用MATCH查找范围为B2:E200(0表示所选列中的所有行)的列。测试
A2:A200>=Y2
检查指定的第一列,--changes匹配到1,misses匹配到0,
SUMPRODUCT
然后将这些1/09乘以所选列值以获得结果


如果您想进一步阅读,请参见

一行或一列可以使用“拼接”从矩形矩阵中拼接出来。使用
、0、
或空参数(例如
)来记录相反参数中的所有单元格。在这种情况下,0表示所选列中的所有行

Z2中的公式可以是其中之一

=SUMIF(A:A, ">="&Y2, INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0)))
=SUMIFS(INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0)),A:A, ">="&Y2)

如果在Y3等中有其他值,请根据需要填写。

可以将行或列从矩形矩阵中“拼接”出来。使用
、0、
或空参数(例如
)来记录相反参数中的所有单元格。在这种情况下,0表示所选列中的所有行

Z2中的公式可以是其中之一

=SUMIF(A:A, ">="&Y2, INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0)))
=SUMIFS(INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0)),A:A, ">="&Y2)

如果在Y3等中有其他值,请根据需要填写。

为什么使用SUMPRODUCT而不是SUMIF?为什么使用SUMPRODUCT而不是SUMIF?这正是我想要的!我在玩弄索引函数,但不能像您那样完全正确地使用它。非常感谢!它就像一个符咒:)这正是我要找的!我在玩弄索引函数,但不能像您那样完全正确地使用它。非常感谢!它就像一个符咒:)