总和,Sumifs或Sumproduct,不知道哪一个使用?
我有下面的表格:
JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC A 10 20 30 40 50 60 70 80 90 100 110 120 B 20 40 60 80 100 120 140 160 180 200 220 240 C 30 60 90 120 150 180 210 240 270 300 330 360
我正在试图从年初到今月的A的总和。 我们以这个月为例,我想要从1月到9月的A的总和。
这个公式将返回JAN到当前月份的值的总和。 我假设表格在文档的顶部,并在左边。
A值:
=SUM(INDIRECT("B2:"&ADDRESS(2,MONTH(TODAY())+1,4)))
B值:
=SUM(INDIRECT("B3:"&ADDRESS(3,MONTH(TODAY())+1,4)))
C值:
=SUM(INDIRECT("B4:"&ADDRESS(4,MONTH(TODAY())+1,4)))
* 编辑 *
为了使它更具dynamic性,假设你在单元格“H8”中的值为“A”,并且想要返回到当前月份的总和,可以这样做:
=SUM(INDIRECT("B"&MATCH(H8,A1:A4,0)&":"&ADDRESS(MATCH(H8,A1:A4,0),MONTH(TODAY())+1,4)))
INDIRECT()
是你的朋友…
假设您的表格在表格的顶部,并且A4包含您要停止的月份…
=SUM(INDIRECT("B2:"&A4&"2"))
如果要在公式中添加dynamic扭曲,请将单元格命名为MONTHVALUES,然后可以使用ROW(monthvalues)
和COLUMN(monthvalues)
而当前月份列将变为COLUMN(月份)+ MONTH(NOW()) – 1
如果你命名一个包含预期行的单元格
因此您可以参考所需行的1月到月份的范围
=SUM(INDIRECT(ADDRESS(ROW(monthvalues)+desiredrow-1;COLUMN(monthvalues))&":"&ADDRESS(ROW(monthvalues)+desiredrow-1;COLUMN(monthvalues)+MONTH(NOW()))))
另一种方法是使用INDEX和MATCH。
=SUM(B2:INDEX(B2:M2,1,MATCH(UPPER(TEXT(TODAY(),"MMM")),B1:M1,FALSE)))
有关更多信息,请参阅http://datapigtechnologies.com/blog/index.php/using-indexmatch-as-a-cell-reference/ 。