【问题标题】:Excel Sumproduct formula works in pieces, but not togetherExcel Sumproduct 公式分段工作,但不能一起工作
【发布时间】:2020-01-24 13:12:17
【问题描述】:

早上好 StackOverflow,提前感谢您抽出宝贵时间。

我正在尝试使用 SUMPRODUCT 来获取一行数字的选择性总和。我有提供选择性的列标题行。其中一行有一个字符部分和一个数字部分。我需要拆分这些部分并对数字部分进行数学运算,以选择性地对数字部分低于阈值的值求和。

当我在公式的每个部分上按 F9 时,它工作正常。但是,整个单元格会解析为 #value,因为 FIND 语句在单独使用时会解析为 #value(当 F9'd 时它们单独解析和作为一个组解析)。

SUMPRODUCT 有四个术语:

1:我想要的类型的列标题

2:鉴别器行中的非空白单元格

3:鉴别器行的数字部分(空格后面的部分)比今天更早的那些列(检查查找表以获取该数字)。

4:我要选择性求和的数据。

(#3 中有错误逻辑,因为当鉴别器行为空白时,我似乎无法依赖 SUMPRODUCT 将#2 中的零与#3 中的#Value 相乘。)

代码如下:

=SUMPRODUCT(--($C4:$EP4="Jobs"),--($C$1:$EP$1<>""),--(NUMBERVALUE(IF(ISERR(FIND(" ",$C$1:$EP$1)),"",RIGHT($C$1:$EP$1,LEN($C$1:$EP$1)-FIND("|",SUBSTITUTE($C$1:$EP$1," ","|",LEN($C$1:$EP$1)-LEN(SUBSTITUTE($C$1:$EP$1," ","")))))))<=INDEX(KPIs!$J$400:$R$555,MATCH(TODAY(),KPIs!$N$400:$N$555,1)-1,7)),$C6:$EP6)

再一次,当 F9'd 时,每个部分(任何大小的单个语句直到所有 #3 一次)都有效,但整个公式解析为 #value,因为任何 FIND 语句在单元格时解析为 #Value留待整体解决。

【问题讨论】:

  • 澄清:整个公式在 F9 时有效。但它仍然解析为#Value
  • 您输入的是数组公式还是普通公式??
  • /facepalm. SUMPRODUCT 通常不需要 CSE,所以我没有想到。现在工作正常;谢谢!

标签: excel excel-formula


【解决方案1】:

虽然您已经找到了一个可行的解决方案,但您的构造的几个方面可以给予更多思考。以下公式应返回相同的结果,并且不需要 CSE (Array) 条目。

=SUMPRODUCT(--($C$4:$EP$4="Jobs"),--(NUMBERVALUE(RIGHT(SUBSTITUTE(" "&amp;$C$1:$EP$1," ",REPT(" ",99)),99))&lt;=INDEX(KPIs!$P$400:$P$555,MATCH(TODAY(),KPIs!$N$400:$N$555,1)-1)),$C$6:$EP$6)

需要考虑的事项:

  1. 第 2 部分 --($C$1:$EP$1&lt;&gt;"") 并没有真正带来任何好处,因为您在第 3 部分中以任何方式对其进行了测试。

  2. INDEX 公式从 P 列返回引用,因此可以简化。

  3. 第 3 部分可以通过使用您将在许多论坛中看到的构造来简化 NUMBERVALUE(RIGHT(SUBSTITUTE(" "&amp;$C$1:$EP$1," ",REPT(" ",99)),99)) 您想要字符串最右边的部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多