我正在尝试在开放式办公室中对某一列进行排序,并且需要单元格值保持在 10 和 0 之间。我目前有一个 If 语句,如下所示:If(X6>0;(((S7/V7)-($B$6))/$B$4)+$X$5;0)
我还需要在同一个单元格中包含一个 IF 语句,如下所示:IF(X6>10;$D$26=0;(((S7/V7)-($B$6))/$B$4)+$X$5)
如何让这 2 个 IF 语句在同一个单元格内发挥作用?
答案1
其中的“then”和“else”部分if(condition; then; else)
也可以是 IF 语句:
if(condition1; then1; else if(condition2; then2; else2))
if(x6<=0; 0; if(x6>10; $D$26=0; (((S7/V7)-($B$6))/$B$4)+$X$5))
或者:
if(condition1; then if(condition2; then2; else2); else1)
if(x6>0; if(x6>10; $D$26=0; (((S7/V7)-($B$6))/$B$4)+$X$5); 0)
答案2
IF
您问题中的两个表达如下:
If(X6>0; (((S7/V7)-($B$6))/$B$4)+$X$5; 0)
(为清晰起见添加了空格)和
IF(X6>10; $D$26=0; (((S7/V7)-($B$6))/$B$4)+$X$5)
我这样提出是因为从问题中看不出来
(((S7/V7)-($B$6))/$B$4)+$X$5
子表达式在两者中是相同的。†
Arjan 的回答是正确的,但这取决于你的两个IF
表达式是否有一个共同的子表达式。
我也想知道你打算用这个$D$26=0
子表达式做什么。如果这是一个拼写错误,你的意思是
如果(X6> 10; 0 ; (((S7/V7)-($B$6))/$B$4)+$X$5)
然后还有另一个答案(恕我直言)更清楚:
IF(AND(X6>0;X6<=10); (((S7/V7)-($B$6))/$B$4)+$X$5; 0)
请注意,您的文本说的是“介于 10 和 0 之间”,但您对 0 和 10 的处理方式不同。____________
†
顺便说一句,您可以通过删除多余的括号来稍微简化这个子表达式。您可以将其简化为以下任何一种:
(((S7/V7)-$B$6)/$B$4)+$X$5
((S7/V7-$B$6)/$B$4)+$X$5
(S7/V7-$B$6)/$B$4+$X$5