【问题标题】:Using SUMIFS to pull YTD sales data in excel使用 SUMIFS 在 excel 中提取年初至今的销售数据
【发布时间】:2016-05-18 05:51:57
【问题描述】:

我正在寻找一种方法来提取在 A、B、C 列中包含以下内容的电子表格的 YTD 数据。

我希望它能够提取一年中的当前月份并从中比较 C 列中的 YTD 销售额。

我使用 =SUM(IF(YEAR(A:A)=2016,C:C,0)) 来获取全年数据,但只想要列出的每一年的 jan - 当前月份。

YTD Sales Through May 2008
2009
2010
2011
2012
2013
2014
2015
2016

Jan-03  17  $86,625
Feb-03  17  $107,900
Mar-03  21  $103,400
Apr-03  17  $112,050
May-03  20  $75,145
Jun-03  26  $198,800
Jul-03  14  $80,695
Aug-03  19  $50,940
Sep-03  26  $152,380
Oct-03  23  $109,380
Nov-03  19  $113,875
Dec-03  21  $149,275
Jan-04  30  $113,110
Feb-04  17  $109,493
Mar-04  15  $69,690
Apr-04  25  $123,145
May-04  24  $136,685
Jun-04  30  $148,495
Jul-04  21  $138,990
Aug-04  29  $131,005
Sep-04  38  $165,790
Oct-04  43  $173,190
Nov-04  41  $253,915
Dec-04  39  $217,650

【问题讨论】:

    标签: excel date sumifs


    【解决方案1】:

    您将使用此公式并将年份更改为您想要的:

    =SUMPRODUCT((MONTH($A$1:$A$24)<=MONTH(TODAY()))*(YEAR($A$1:$A$24)=2016)*$C$1:$C$24)
    

    如果您希望所有年份的 YTD 都在一个公式中,您可以:

    =SUMPRODUCT((MONTH($A$1:$A$24)<=MONTH(TODAY()))*(YEAR($A$1:$A$24)={2008,2009,2010,2011,2012,2013,2014,2015,2016})*$C$1:$C$24)
    

    为了使公式更具动态性,因此它会随着数据的大小而增长和收缩;

    =SUMPRODUCT((MONTH($A$2:INDEX(A:A,MATCH(1E+99,A:A)))<=MONTH(TODAY()))*(YEAR($A$2:INDEX(A:A,MATCH(1E+99,A:A)))={2004,2005})*$C$2:INDEX(C:C,MATCH(1E+99,A:A)))
    

    确保引用 $A$2$C$2 引用数据的第一个单元格而不是标题行。

    由于数组公式的计算是指数的,我们需要将引用限制为仅数据集大小。所有INDEX(A:A,MATCH(1E+99,A:A)) 都实现了这一点。它会自动将A列中带有数字的最后一行设置为数据集的最后一行。

    因此,随着数据集的增长或缩小,我们不会进行任何不必要的迭代。

    {2004,2005} 更改为所需的任意年数。

    【讨论】:

    • 感谢您的回复。我得到了#VALUE!作为响应,有没有办法做到这一点,所以它从 A:A 中提取,因为我将添加更多内容。
    • 你的公式和这个都是数组公式,应该避免完整的列引用,因为计算是指数的。我会将我的公式编辑为动态的。但是您需要确保日期是真实的日期,例如看起来像日期的数字而不是日期形式的文本。此外,您的数据中没有文本或错误,这是导致错误的原因之一。
    • 这很好用。是否可以更改它,使其在当前月份的前一个月结束。即 YTD 到 4 月?
    • 是的,只需将 &lt;= 更改为 &lt; @Mbrazitis
    猜你喜欢
    • 2018-06-01
    • 1970-01-01
    • 2018-04-25
    • 2013-01-02
    • 2012-11-10
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多