【问题标题】:Creating high and low balance calculations from a dataset从数据集创建高余额和低余额计算
【发布时间】:2022-01-20 13:54:08
【问题描述】:

我有一份货币交易清单,我需要据此计算每种货币余额的高点和低点。我在下面的表格中创建了一个简单的示例:

https://docs.google.com/spreadsheets/d/1fxlfh-WBquyTR7wGKgHE3p2GV1zT9eSdrKmO9FJ3A8E/edit?usp=sharing

这里有六笔交易,涉及三种不同的货币。假设在第 1 笔交易之前每种货币的余额为 0,我在右侧表格中手动计算了三种货币中每种货币的余额高点和低点。

我将如何通过公式计算这些余额的高点和低点?

【问题讨论】:

  • 有几种方法可以做到这一点。最好的方法取决于你有多少货币。如果您使工作表可编辑,这里的人们可以演示几种不同的方法。
  • 你是怎么得到-33的?
  • @MattKing 在真实的数据库中,大约有 30 种不同的货币。我以为我使工作表可编辑,但只是看到我没有。我已经打开它现在进行编辑。感谢您在这方面的帮助。
  • @player0 对不起,错字。那应该是-32。 -6 - 5 + 3 - 15 - 9 + 8。低点出现在 -9 总计 -32 之后。
  • @Dan 如果您在实际工作表的某处有一个选项卡,其中列出了所有选项,例如某种仪表板,那将是构建公式的好地方。您有可以在工作表上分享的清单吗?

标签: if-statement google-sheets google-sheets-formula sequence flatten


【解决方案1】:

尝试:

=INDEX(QUERY({QUERY(FLATTEN({B2:B, D2:D}), "where Col1 is not null", ), 
 MMULT(--TRANSPOSE(IF((SEQUENCE(1, COUNTA(A2:A)*2)>=SEQUENCE(COUNTA(A2:A)*2))*(
 QUERY(FLATTEN({B2:B, D2:D}), "where Col1 is not null", )=TRANSPOSE(
 QUERY(FLATTEN({B2:B, D2:D}), "where Col1 is not null", ))),
 QUERY(FLATTEN({C2:C, IF(E2:E="",,-E2:E)}), "where Col1 is not null", ), 0)),
 SEQUENCE(COUNTA(A2:A)*2)^0)}, 
 "select Col1,max(Col2),min(Col2) 
  group by Col1 
  label max(Col2)'Balance high',min(Col2)'Balance low'"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2015-11-06
    • 2012-03-12
    相关资源
    最近更新 更多