【问题标题】:How to use ABS in SUMIF in ARRAYFORUMULA如何在 ARRAYFORUMULA 的 SUMIF 中使用 ABS
【发布时间】:2020-07-14 19:05:09
【问题描述】:

我有两个用于跟踪预算和交易的 Google 电子表格(我将它们放在一张表上以简化这个问题的内容)。

我想对我的 SPENT 列使用 ARRAYFORMULA 函数,该函数将汇总一个月内预算的所有交易,但我想汇总交易的绝对值,而不是记录的负值。

这是我的电子表格:

Link to Spreadsheet

下面是 SPENT 列的一个工作公式,它对负值求和:

={"Spent"; ArrayFormula(IF(LEN(A2:A), SUMIF(F2:F&G2:G, A2:A&J2, H2:H),))}

我希望工作是这样的:

={"Spent"; ArrayFormula(IF(LEN(A2:A), SUMIF(F2:F&G2:G, A2:A&J2, ABS(H2:H)),))}

我必须怎么做才能对 ArrayFormula 中的绝对值求和?

【问题讨论】:

  • 分享您的工作表副本
  • @player0 - 我添加了一个指向工作表的链接。如果您需要编辑权限,请告诉我。
  • 您的工作表当前是“仅查看”。您能否使工作表可编辑,以便我和其他人能够更好地测试和演示解决方案?
  • 是的,对不起。从一开始就应该这样做。您现在应该可以对其进行编辑了。

标签: google-sheets sum google-sheets-formula array-formulas sumifs


【解决方案1】:

尝试:

=ARRAYFORMULA(IF(A2:A="",,IFNA(VLOOKUP(A2:A, QUERY(F2:H, 
 "select F,sum(H) 
  where G = '"&J2&"'
  group by F 
  label sum(H)''"), 2, 0), 0)))

那么“ABS”可能是:

或者你的公式:

或 ABS 在求和之前

【讨论】:

  • 感谢您对此进行调查,它很接近,但我需要一种在求和之前获得绝对值的方法。我尝试修改您的查询功能。我正在考虑做一些类似“sum((H ^ 2) ^ 0.5)”而不是“sum(H)”的事情,但我发现一些文档说 sum() 需要一个列 ID 并且无法处理逻辑 (@987654325 @)。
  • 如果你想在求和之前有ABS,你可以这样做:i.stack.imgur.com/6DsJE.png
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-20
  • 1970-01-01
  • 1970-01-01
  • 2017-12-06
  • 2022-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多