尝试破译一些Excel公式,我看到一些像SUMPRODUCT( - 左(...)......)
什么是 - 做什么?自然看起来像是递减给我但却找不到任何文件。
答案 0 :(得分:26)
双破折号称为双一元算子。
试试此链接:Why use -- in SUMPRODUCT formulae
具体做法是:
SUMPRODUCT()忽略非数字条目。比较返回一个布尔值(TRUE / FALSE),该值是非数字的。 XL会自动将布尔值强制转换为算术运算中的数值(分别为1/0)(例如,TRUE + 0 = 1)。
强制该值的最有效方法是首先应用一元减号运算符,将TRUE / FALSE强制转换为-1/0,然后再次应用它来否定该值,例如+1/0。
单个一元运算符( - )将 true / false 值强制转换为 -1/0 。通过使用双一元运算符,我们再次将值强制为 1/0 。
答案 1 :(得分:5)
一元运算符( - )是将true / false语句转换为-1 / 0的简写方法。
单个运算符将 - (true)转换为-1,因此使用双一元运算符将其转换回1:
-(-(true)) = -(-(1)) = 1
-(-(false)) = -(-(0)) = 0
答案 2 :(得分:0)
我一直在使用SUMPRODUCT一直使用*
符号代替--
。我确定我问过你问过同样的问题,但是我不记得他们给我的原因了,但我被告知真的不需要--
因为sumproduct管理得很好没有它。
无论如何,=sumproduct(()*()*()*())
一直对我有用,而且不那么令人困惑。
答案 3 :(得分:0)
excel中的布尔值TRUE和FALSE被视为1和0,但我们需要转换它们。要将它们转换为数字1或0,请执行一些数学运算。一元运算符否定布尔值(数学运算),因此将布尔值转换为数字。同样适用于TRUE * FALSE = 0