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

表中有B到Z列。 如果列A的值大于或等于“Mar-15”,我想对包含“Mar-15”的列进行求和。

所以,如果我在Sheet1中有以下内容 –

ABCDE 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栏有以下内容 –

  YZ 1 Month Value 2 Mar-15 ? 

我想能够在Z2中编写一个公式,这个公式的总和等于Y2,而列A大于或等于Y2。 所以在这里,由于Y2包含Mar-15 ,所以公式的要求答案是1110

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

现在,我有公式

 =MATCH(Y2,$1:$1,0) 

这给了我第2行,它是第一行中的列索引,它与Y2中的值匹配。

然后,我修改它来获取标题的地址 –

 =ADDRESS(1,MATCH(Y2,$1:$1,0)) 

这给我$ B $ 1 。 为了获得专栏,我正在做=LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)这给我$ B

现在,我要对由此地址函数返回的列进行SUMIFS ,并指定列A应该大于Y2中的值的条件。

 =SUMIFS(<something>,A:A,">="&Y2) 

应该是什么? 根据Y2中的值,我想总结的列可以不同。 那么我用什么公式代替某些东西呢?

LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2):LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)给我$ B ,我推测这个公式会给我$ B:$ B ,但是这是行不通的。

一行或一列可以用INDEX函数从矩形matrix中“拼接”出来。 A , 0,或空参数(例如, , )用于logging相反参数中的所有单元格。 在这种情况下, 0将表示所选列中的所有行。

sumif_index

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(--(A2:A200>=Y2),INDEX(B2:E200,0,MATCH(Y2,B1:E1,0))) 

它使用MATCH来查找范围B2:E200(0,表示所选列中的所有行)查看哪个列。 testingA2:A200>=Y2按照您指定的方式检查第一列, – 更改匹配为1未命中为0,然后SUMPRODUCT将那些1/09乘以所选列值以获得结果。

如果你想进一步阅读这里看到