Sum,Sumifs或Sumproduct,不确定使用哪一个?

时间:2013-10-01 13:27:09

标签: excel excel-2007 sumifs

我有下表:

    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总和。

3 个答案:

答案 0 :(得分:1)

INDIRECT()是你的朋友......

假设您的工作台位于工作表的顶部,并且A4包含您要停止的月份...

=SUM(INDIRECT("B2:"&A4&"2"))

如果您想为公式添加动态扭曲,请将您的单元格命名为MONTHVALUES,然后您可以使用ROW(monthvalues)COLUMN(monthvalues)

获取其地址

当前月份列将变为COLUMN(月值)+ MONTH(NOW()) - 1

如果您命名包含desiredrow的单元格

所以你可以回顾一下所需行的从一月到一个月的范围

=SUM(INDIRECT(ADDRESS(ROW(monthvalues)+desiredrow-1;COLUMN(monthvalues))&":"&ADDRESS(ROW(monthvalues)+desiredrow-1;COLUMN(monthvalues)+MONTH(NOW()))))

答案 1 :(得分:1)

另一种方法是使用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/

答案 2 :(得分:0)

此公式将返回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)))

*的 修改 *

为了让它更具动态性,假设你在单元格“H8”中有值'A'并希望将A总和返回到当前月份,你可以这样做:

=SUM(INDIRECT("B"&MATCH(H8,A1:A4,0)&":"&ADDRESS(MATCH(H8,A1:A4,0),MONTH(TODAY())+1,4)))