理解IF语句

时间:2011-01-26 15:30:07

标签: php excel

我理解它的基本知识,但它让人感到困惑。如果有人可以将其重新编写为简单的伪代码,那将非常感谢!

我正在编写一个PHP应用程序,我需要在PHP中使用相同的算法,但它不起作用。

=IF(CC_stolpar=2;
    IF(Antal_slanor<4;
       6*Antal_dubbelgrind;
       Antal_dubbelgrind*Antal_slanor*2)
    +
    IF(Antal_slanor<4;
       3*Antal_enkelgrind;
       Antal_enkelgrind*Antal_slanor);
    0)

4 个答案:

答案 0 :(得分:0)

我不确定他为什么要对antal_slanor<4进行两次测试,它应该相当于

=IF(CC_stolpar=2;
    IF(Antal_slanor<4;
       6*Antal_dubbelgrind              + 3*Antal_enkelgrind;
       Antal_dubbelgrind*Antal_slanor*2 + Antal_enkelgrind*Antal_slanor);
    0)

答案 1 :(得分:0)

这有嵌套的IF语句,它遵循模式IF-THEN-ELSE

IF (condition); what to do if condition is true; what to do if condition is false

所以你的外部IF是IF(CC_stolpar=2 THEN (do all this complicated stuff) ELSE 0

这很简单。 CC_stolpar为2或不是,如果它有任何其他值,则结果为零。

“复杂的东西”是对两种不同的IF语句的结果进行求和。

第一个是

IF(Antal_slanor<4;
6*Antal_dubbelgrind;
Antal_dubbelgrind*Antal_slanor*2)

如果Antal_slanor小于4,则将Antal_dubbelgrind乘以6。

如果Antal_slanor大于或等于4,则将Antal_dubbelgrind乘以Antal_slanor乘以2。

根据Antal_slanor是否小于4,您只能得到一个结果。

您对其他IF重复基本相同的过程,并对结果求和。

IF(Antal_slanor<4;
3*Antal_enkelgrind;
Antal_enkelgrind*Antal_slanor);

这两个嵌套的IF语句都在评估Antal_slanor是否小于4.因此,如果对你有意义,你可以将它们合并为一个IF。

最后,我会建议您自己的理智和其他人的理智,他们可能需要在您之后阅读此内容,并在您的代码中尽可能简化公式。

答案 2 :(得分:0)

你只需看一下而不是一行。

作为提示,CC_stolar = 2,则结果是两个嵌套IF语句的总和。

也许一些括号会有所帮助:

=IF(CC_stolpar=2;
    {
    IF(Antal_slanor<4;
        {
            6*Antal_dubbelgrind;
        } else {
            Antal_dubbelgrind*Antal_slanor*2)
        }
    +IF(Antal_slanor<4;
        {
            3*Antal_enkelgrind;
        } else {
            Antal_enkelgrind*Antal_slanor)
        }
    } else {
        ;0)
    }

答案 3 :(得分:0)

IF CC_poles == 2 then 
    IF NUMBER_OF_POLES < 4 THEN
         RESULT = 6*NUMBER_OF_DOUBLE_GATES + 3* NUMBER_OF_SINGLE_GATES;
      ELSE
         RESULT= NUMBER_OF_DOUBLE_GATES*NUMBER_OF_POLES*2 + NUMBER_OF_SINGLE_GATES *
                 NUMBER_OF_POLES
    ENDIF
ELSE
    RESULT = 0
ENDIF