SUMIF:作为标准的公式不适用于整个列

SUMIF: formula as criteria not working for entire column

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

每个订单都分配了一个以字母 Q 开头的编号。

包含一个或多个 2.8 x 0.0735 米 零件的订单将单独占一行。

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

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

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

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

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

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

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

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

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

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

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

然后将这些求和并显示结果。

荷兰语和英语:

{=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,但它可以是任何数值。

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

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