【问题标题】:Sumif Amounts Based on Months for Multiple MonthsSumif 金额基于多个月的月份
【发布时间】:2016-02-20 07:10:48
【问题描述】:

我有以下格式的excel数据

Date         Amount
01-Jan-16     23.94
12-Jan-16     17.96
26-Jan-16     32.92
03-Feb-16     38.90
20-Feb-16     62.27
26-Feb-16     45.89

我想汇总特定月份的金额字段,即我想分别汇总一月和二月的金额。

这是我迄今为止尝试过的代码,我在之前提出的问题中找到了该代码(请参阅Excel Formula to SUMIF date falls in particular month)。

=SUM(IF(MONTH(A:A)=1,B:B,0))

它适用于一月份,但是当我将 1 更改为 2 时它返回零。

=SUM(IF(MONTH(A:A)=2,B:B,0))

sumifs 会更好吗?

【问题讨论】:

    标签: excel sumifs


    【解决方案1】:

    这里有另外两种方法:-

    =SUMPRODUCT((MONTH(A2:A10)=1)*B2:B10)
    

    =SUMIFS(B2:B10,A2:A10,">="&DATE(2016,1,1),A2:A10,"<"&DATE(2016,2,1))
    

    根据需要进行更改以获得其他月份的总数。

    我已将结果放在此屏幕截图中的原始数组公式旁边:-

    【讨论】:

    • 谢谢,这看起来可以。我最终决定在 Excel 中使用数据透视表,我得到了正确的结果,但我也会尝试你的方法。
    • 有没有办法在不将总和写入不同表的情况下对各行求和?我正在寻找的是我的数据透视表中的最后一列,其中包含写在我的数据透视表中的行的总计。提前致谢
    • 我不确定你的意思 - 通常数据透视表会给你行和列的总计?
    • 我只能在数据透视表的底部获得总计。我想要每月总计。
    • 如果您在数据透视表中显示多个不同的变量,您确实不会获得行总计。这可能对mrexcel.com/forum/excel-questions/… 有所帮助,但可能需要一个单独的问题和一些屏幕截图才能深入了解。
    【解决方案2】:

    使用特定范围而不是整列。您必须将公式用作数组公式。

    =SUM(IF(MONTH($A$2:$A$1000)=1,$B$2:$B$1000,0))
    

    CTRL+SHIFT+ENTER 将公式计算为数组公式。

    【讨论】:

    • 这似乎有点多余。我要求excel搜索合适月份的日子。但是在您的代码中,我已经知道我想要求和的日期。我应该只使用 sum(x:x)
    • 我很困惑。你能解释一下吗?
    • 是的。我需要对一月行中的列中的单元格求和。我使用我提供的公式并且它有效,但不是我将 1 切换为 2。我不想获取对应于一月的数量下的行,因为我希望excel先为我找到它们,然后将它们汇总在一起。使用您的公式会删除我希望 excel 找到正确单元格的部分,因此我不必这样做。
    • 您是否希望先将单独的值(对应于 Jan、Feb 等)放到另一列,然后求和?
    • 答案是正确的 - 您需要将其作为数组公式输入并使用不包括标题 A1 的范围。但是,如果您只对 2016 年 1 月/2 月感兴趣,也可以按照原始答案 stackoverflow.com/questions/15285381/… 中的描述使用 SUMIFS。
    猜你喜欢
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    相关资源
    最近更新 更多