【问题标题】:Taking the Cumulative sum of a Column while Selecting only a Specific Sum within that column在仅选择该列中的特定总和时取一列的累积总和
【发布时间】:2021-08-12 23:34:49
【问题描述】:

我有一个表,它有一个符号列和一个对应的数字。假设在这种情况下我只想要特定符号(如 ABC 和 DEF)的累积和,我如何构建一个公式,只取 ABC 和 DEF 以及我想在必要时隔离的其他符号的累积和,而不是比给定日期的所有符号的累积总和。下面是一个表格示例,其中仅 ABC 和 DEF 的累积总和的答案在特定日期的黄色单元格中突出显示。我还希望公式能够选择任何指定的日期。

【问题讨论】:

  • 感谢您的回答,您知道使用Office 2019的类似公式吗?

标签: excel excel-formula excel-2019


【解决方案1】:

您可以使用FILTER 从您的表中获取符合条件的值列表,然后使用SUM 获取该列表。

=SUM(FILTER(NameOfTable[stat 1], <Criteria>))

诀窍是指定过滤条件。您要求提供日期范围和符合条件的符号列表。

约会很简单

(NameOfTable[Date]>=G2)*(NameOfTable[Date]<=G3)

限定符号列表有点困难。使用新功能 BYROW 可以做到(在撰写本文时仅对内部人员可用)

(BYROW(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))),LAMBDA(array,SUM(array))))

整个函数:

=SUM(FILTER(NameOfTable[stat 1],
  (NameOfTable[Date]>=G2)*
  (NameOfTable[Date]<=G3)*
  (BYROW(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))), LAMBDA(array, SUM(array))))
))

另一种选择,不使用BYROWS

MMULT(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))),1-N(FILTER(I:I,I:I<>"")))

所以整个公式是

=SUM(FILTER(NameOfTable[stat 1],
  (NameOfTable[Date]>=G2)*
  (NameOfTable[Date]<=G3)*
  MMULT(--(NameOfTable[Sym]=TRANSPOSE(FILTER(I:I,I:I<>""))),1-N(FILTER(I:I,I:I<>"")))
))

NameOftable更改为您的实际表名

【讨论】:

  • 感谢您的回答,您知道使用Office 2019的类似公式吗?
【解决方案2】:

您可以使用 FILTER 函数将带有“*”(表示“and”)和“+”(表示“or”)的语句串在一起,以根据多个条件进行过滤。

如果您想要某个日期和某些符号,请使用类似

=SUM(FILTER(sum_range, 
((date_range=date)*
((symbol_range=symbol1)+(symbol_range=symbol2)+...))))

例如:

=SUM(FILTER($C$2:$C$10,
(($B$2:$B$10=E3)*
(($A$2:$A$10=E4)+($A$2:$A$10=E5)))))

【讨论】:

    【解决方案3】:

    如果您只想要特定单日期的总和,则使用它

    =SUMPRODUCT((--(A2:A10=E1)+--(A2:A10=F1))*IF(G1="",1,(B2:B10=G1)),C2:C10)
    

    如果您想要在任何日期之前的总和,请使用它

    =SUMPRODUCT((--(A2:A10=E1)+--(A2:A10=F1))*IF(G1="",1,(B2:B10<=G1)),C2:C10)
    

    如果你想要两个给定日期之间的总和那么

    =SUMPRODUCT((--(A2:A10=E1)+--(A2:A10=F1))*IF(G1="",1,(B2:B10<=G1))*IF(H1="",1,(B2:B10>=H1)),C2:C10)
    

    【讨论】:

      猜你喜欢
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      相关资源
      最近更新 更多