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将表示所选列中的所有行。
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乘以所选列值以获得结果。
如果你想进一步阅读这里看到