【问题标题】:SUMIFS in an ARRAYFORMULA not workingARRAYFORMULA 中的 SUMIFS 不起作用
【发布时间】:2018-04-28 19:14:50
【问题描述】:

我正在创建一个销售跟踪器,并且正在努力使用 SUMIFS ARRAYFORMULA。

这是公式:-

=arrayformula(SUMIFS('LIVE!'!$C$4:$C,'LIVE!'!$K$4:$K,$C$14:$C,'LIVE!'!$J$4:$J,"Ex-Yard"))

这是我正在查看的列的快照:

  • 表 1(“客户销售”):C 列 = 帐号,G 列 = “场外总计”
  • 表 2(“Live!”):C 列 = '销售价值',列 j = “Ex-yard”/“Direct”,K 栏 = 帐号

公式在表 1 的 G 列中。我需要它对表 2(C 列)上的所有行 J 列中显示“Ex-Yard”的销售价值列求和,但仅限于表 1 C 列中的帐号可在表 2 K 列中找到。

它包含敏感数据,因此无法共享,但这是一个示例:https://docs.google.com/spreadsheets/d/1jcZNkg5lI7SFlZw153vNGSjOyGmwr3Q-xEq03AmVkeo/edit?usp=drivesdk

谢谢

男人

【问题讨论】:

  • 锁定您的示例电子表格,否则尝试调试您的问题的其他人可能会更改它并使其将来无法使用。

标签: arrays google-sheets range formula sumifs


【解决方案1】:

公式存在多个问题。

首先它解决了 SUMIFS 中的错误列:根据您发布的电子表格,第 2 表中没有帐号,您可以在其上创建链接的似乎是 A 列中的客户名称。修复地址后,当将此公式应用于“客户销售”!G5 中的单个单元格时,将为该客户生成正确的总和:

=if(isblank(C5),"",sumifs('LIVE!'!C$4:C,'LIVE!'!A$4:A,D5,'LIVE!'!J$4:J,"Ex-Yard"))

其次,由于只有 Google 知道的原因,ARRAYFORMULA 不能很好地与 SUMIFS 或其他在其第一个参数中处理范围的函数配合使用。很遗憾,您不能使用 ARRAYFORMULA,而是需要将公式复制下来(这就是您现在必须使用带有 $ 符号的绝对寻址的原因)。

【讨论】:

    【解决方案2】:

    如果 ARRAYFORMULA 和 SUMIFS 函数的第一个参数是一个范围,Google Sheets 似乎确实存在问题,即以下公式将产生不正确的结果(使用@ttarchala 建议的更正):

    =ARRAYFORMULA(IF(ISBLANK(C5:C), "", SUMIFS('LIVE!'!C$4:C,'LIVE!'!A$4:A,D5:D,'LIVE!'!J$4:J,"Ex-Yard")))
    

    仍然使用 ARRAYFORMULA 的另一种解决方法是将 SUMIFS 替换为 SUMIF 并将要比较的两列连接起来:

    =ARRAYFORMULA(IF(ISBLANK(C5:C), "", SUMIF('LIVE!'!A$4:A&'LIVE!'!J$4:J,D5:D&"Ex-Yard",'LIVE!'!C$4:C)))
    

    现在您不必将公式复制到工作表中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      • 2015-07-16
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多