【问题标题】:SUMIF: formula as criteria not working for entire columnSUMIF:公式作为标准不适用于整列
【发布时间】:2020-10-19 11:01:58
【问题描述】:

我的工作表包含来自客户的订单。订单都是木板。

每个订单都有一个编号,以字母 Q 开头。

  • B 列包含订单中的零件数量。

  • C 列包含订单中的总平方米。

包含一个或多个 2.8 x 0.0735 m 零件的订单将获得自己的一行。

我正在尝试计算这部分在超过一千行的列表中出现的次数。

因此,如果我将 总平方米除以 我正在寻找的零件的平方米,然后将其除以 订单中的零件数量,结果我应该得到 1。 如果我取所有部分的总和,结果为 1,我得到我的总数。

现在我想将它放在整个工作表的一个公式中,但 SUMIF 不能像我尝试的那样工作。 (是荷兰语)

=SOM.ALS(B:B;(C:C/(2,8*0,0735)/B:B)=1)

我似乎无法将此公式用作 SUMIF 中的标准。

现在我使用一个帮助列,每行给出正确的数量。然后取这些的总和。

是否可以将其放在一个公式中?

【问题讨论】:

  • SUMIF 仅对条件范围 (B:B) 与您指定的值匹配的行求和。您的公式在这种情况下没有意义,因为您正在创建一个 True/False 值数组作为标准,并且 B 列中没有 True/False 值。
  • 不确定你的结果应该是什么,但不妨试试:=SOMPRODUCT(ALS.FOUT((C:C/(2,8*0,0735)/B:B)=1;0)*B:B) 或英文:=SUMPRODUCT(IFERROR((C:C/(2.8*0.0735)/B:B)=1,0)*B:B)
  • @BRTN,我的回答有效吗?如果它不能满足您的需求,我很乐意继续努力。请告诉我。
  • @JvdV 我试过了,但没有成功。谢谢!

标签: excel excel-formula sumifs


【解决方案1】:

是的,这是可能的。试试这个:

{=SUM(--(B:B=C:C/(2.8*0.0735))*IF(ISERROR(1/B:B),0,1))}

记得用 CNTRL + SHIFT + ENTER 将其作为数组函数输入。

公式的前半部分只是一个逻辑测试,在星号之后它测试 1/B 是否导致错误(从而省略文本、零和空白),如果有错误则返回零。

然后将这些相加并显示结果。

【讨论】:

  • 我刚试了一下,我收到错误“您为此函数输入的参数太少”。双破折号有什么作用?我也会继续搜索你的公式。谢谢!
  • 我对你的想法有所了解。现在我在这个公式:=SOMPRODUCT(--(B:B=C:C/(2,8*0,0735)))-SOMPRODUCT(--(B:B="");--(C:C="")) 或英文我猜=SUMPRODUCT(--(B:B=C:C/(2.8*0.0735)))-SUMPRODUCT(--(B:B=""),--(C:C="")) 这计算包含我想要的部分的行数。现在我仍然需要将其与订单中适量的零件相乘。最后一部分是省略空单元格。我还没有省略文本,所以现在我手动删除了它。
  • 更新:=SUMPRODUCT(--(B:B=C:C/(2.8*0.0735));B:B) 在 C 列不包含任何文本的情况下完美运行。
  • 我知道了,我会把它作为答案发布。不过,您的建议使我走上了正轨,没有它就找不到。
【解决方案2】:

荷兰语和英语:

{=SOMPRODUCT(--(B:B=(ALS(ISTEKST(C:C);1;C:C))/(2,8*0,0735));B:B)}


{=SUMPRODUCT(--(B:B=(IF(ISTEXT(C:C),1,C:C))/(2.8*0.0735)),B:B)}

运行良好。 (使用 Ctrl-Shift-Enter 输入)

第一位是逻辑测试,它将检查 B:B = C:C / (2.8*0.0735)

卡在#VALUE 上!因为 C:C 中有文本。 IF(ISTEXT)) 通过将文本转换为数值来消除文本,在本例中为 1,但它可以是任何数值。

由于双破折号或一元运算符,逻辑测试将返回 TRUE(1) 或 FALSE(0),这将乘以它们各自的 B:B 值。

因为有文本的行在 B:B 中没有值,所以结果为零。

【讨论】:

  • 很高兴您能够提出解决方案!这真的是这里最好的结果。一件事,因为您使用了=SUMPRODUCT()=SOMPRODUCT(),您可能不需要使用Ctrl-Shift-Enter 进行确认。在我的机器上没有它也可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多