公式编辑器你好,
我正在尝试编写一个公式来检查 A 列和 B 列中的值是否都超过零,或者 C 列和 D 列中的值是否都超过零(对于许多列对也是如此)。如果至少一对的值都大于零,我希望公式返回 1。如果不是,则返回 0。但是,我编写的公式返回全 1...即使在所有负数的行中也是如此。有人可以告诉我我做错了什么吗?谢谢你!
质量和工艺工程回复:公式编辑器Sum( :a>0 & :b>0, :c>0 & :d>0, :e>0 & :e>0);
回复:公式编辑器嗨,吉姆,
感谢您的建议,但这似乎是对数字的总和。 我想最终得到一个指标列(零和一)。 如果为“1”,则意味着至少有一个列对的两个数字都大于零。
回复:公式编辑器这是我拥有的返回全 1 的公式:
如果(
(:A & :B) >= 0 | (:C &
) >= 0 | (:E & :F) >= 0 ,
1 ,
0
)
回复:公式编辑器亲爱的@EH1
请认识到“:A & :B”将始终产生 1,如果两者中至少有一个值不完全为零的话。 因此,与 ">= 0" 的比较也产生 1。
所以你必须用另一种方式构造你的公式:见 Jim 的提议“:a> 0 & :b> 0”将正常工作,并且 sum 的工作方式类似于 or,除了你可能会在周围放置一个“if > 0”语句只得到 0 或 1。
在下面的公式编辑器中,您也可以看到所选子表达式的结果,以便更好地理解。

回复:公式编辑器我指定的公式的解释如下。
:A>0 & :B>0 如果为真则返回 1,否则返回 0。因此 :A=1 & :B=0 返回 0 而 :A=5 & :B=2 返回 1。Ahd 因为这些比较子句中的每一个都在 Sum() 函数中,所以它将把所有的零加起来和那些。
回复:公式编辑器此表达式返回列中所需的布尔值。 除非在同一公式中需要条件操作,否则您不需要 If() 函数。 它将根据需要返回 0(假)或 1(真)。
(:a>0 & :b>0) | (:c>0 & :d>0) | (:e>0 & :e>0)