如何让多个 if 语句在同一个 Open Office Calc 单元格内运行

如何让多个 if 语句在同一个 Open Office Calc 单元格内运行

我正在尝试在开放式办公室中对某一列进行排序,并且需要单元格值保持在 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

相关内容