表中有B到Z列。我想总结一下包含" Mar-15"作为标题,如果列A的值大于或等于" Mar-15"。
所以,如果我在Sheet1中有以下内容 -
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包含 4月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 ,但是不起作用。
答案 0 :(得分:2)
试试这个公式
=SUMPRODUCT(--(A2:A200>=Y2),INDEX(B2:E200,0,MATCH(Y2,B1:E1,0)))
使用MATCH查找范围B2:E200要查看的列(0表示该选定列中的所有行)。测试A2:A200>=Y2
检查指定的第一列, - 更改匹配为1未命中为0,然后SUMPRODUCT
将这些1/09乘以选定的列值以获得结果。
如果您想进一步阅读,请参阅here
答案 1 :(得分:2)
行或列可以使用INDEX function从矩形矩阵中“拼接”出来。 , 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中有其他值,则必要时填写。