Excel - 创建动态和公式范围

时间:2012-05-23 16:14:54

标签: excel excel-formula worksheet-function

我目前正在使用以下公式

=SUM(INDIRECT("'Net "&($A$2)&" "&RIGHT($A48,2)&"'!C4:C21"))

完美无缺,但我试图让它的范围部分(C4:C21)动态化。

公式引用的$A$2是某人输入并且当前显示为“May”的内容。公式引用的$ A48只是拉动当年的最后2位数。

这些是文件

总共有6个重要标签。有4个选项卡可以累计特定月份的前几年销售额。所以我有Net May 11,Net May 10,Net May 09,Net May 08.这些是间接公式找到的标签。

最后两个选项卡包含此公式所在的选项(Net May 12)以及该范围需要基于(Cust May 12)的选项卡。在Cust May 12选项卡中,A列是日期,B列是星期几,C列是我们的销售数据。每天都有人进入销售当天。举个例子,我目前的销售数据从2012年5月1日到2012年5月18日。从C / C列到2012年5月31日的所有内容都是空白的。当前存在的销售数据位于C4:C21C22:C34为空。因为我将前几年的销售额与今年的销售额进行比较,所以它们必须具有可比性,这就是为什么公式仅对前几年的所有销售使用C4:C21

我尝试过一些事情,包括一个CountA和一些补偿试图帮助我,但我一直无法找到一个解决方案,使我的所有前几年销售公式的范围动态。当有人在Cust May 12选项卡中输入第二天的销售数据时,我需要将公式简单地增加到C4:C22之前的所有年份。

1 个答案:

答案 0 :(得分:5)

你的问题并不完全清楚,但听起来你想要的是:

=SUM(OFFSET(INDIRECT("'Net "&($A$2)&" "&RIGHT($A48,2)&"'!C4:C4"),0,0,COUNTA('Cust May 12'!$C$4:$C$34)))

但是,您可能需要考虑重构数据以仅将其存储在一个工作表中,例如年份,月份,日期和销售等列。然后,诸如“2011年5月份的销售额是什么”这样的问题更容易回答(特别是在Excel 2007中添加了SUMIFS功能),如下所示:

=SUMIFS(<Sales column>,<Year column>,2011,<Month column>,"May",<Date column>,"<="&DAY(NOW()))