【问题标题】:Excel Formula to total amount quarterly in date rowExcel 公式到日期行中每季度的总金额
【发布时间】:2017-03-04 21:10:06
【问题描述】:

我正在尝试在 Excel 中计算当前季度总额与上一季度总额之间的差异。数据在行标题中,季度月不标准。例如,将 1 月视为第 4 季度,将 2 月视为第 1 季度。日期也可以从一份报告更改为下一份报告。

这是示例数据:

我想在 H 列中添加一个公式,计算第 4 季度(11 月至 1 月)的所有金额,并在第 I 列中添加每一行的第 1 季度(8 月至 10 月)的总金额。下个月的报告 G 列将是 2 月,我需要一个足够动态的公式来知道要放在 H 列中的当前季度金额。

我正在考虑使用 sumproduct 并选择,但 Excel 不喜欢它:

=Sumproduct(--((CHOOSE(MONTH(B29:G29),4,1,1,1,2,2,2,3,3,3,4,4)=4),B30:C30))

如果这个公式有效,我可以将其复制粘贴到 H 列和 I 列的剩余行。

【问题讨论】:

  • 我认为您试图使用{=SUMPRODUCT(--(CHOOSE(MONTH($B$29:$G$29),4,1,1,1,2,2,2,3,3,3,4,4)=4),$B30:$G30)} 来表示该公式,即G30 而不是C30,并删除CHOOSE 之前和B30:C30 之后的额外括号,并制作它一个数组公式(并使某些引用绝对而不是相对)

标签: excel excel-formula vba


【解决方案1】:

根据上面的例子使用:

=SUMPRODUCT(--(1+MOD(INT((MONTH($B$29:$G$29)-2)/3),4)=RIGHT(H$29,1)*1),$B30:$G30)

【讨论】:

  • 我比公式数组更喜欢 sumproduct,因为我有许多具有相似数据的工作表。非常感谢!
【解决方案2】:

使用H30 的这个数组公式可以做你想做的事,你可以复制粘贴到I30 和向下的行中。如果您为 Q2 和 Q3 添加列,它也将起作用。

H30 -->
 =SUM(IF(CHOOSE(MONTH($B$29:$G$29),4,1,1,1,2,2,2,3,3,3,4,4)=INT(RIGHT(H$29,1)),$B30:$G30))
  Ctrl+Shift+Enter

注意它从上面的行中获取四分位数,它固定列并与行参数化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多