Je comprends bien les bases de ce qu'il fait, mais cela devient déroutant. Si quelqu'un pouvait ré-écrire dans un simple pseudo code, il serait grandement apprécié!
J'écris une application PHP et j'ai besoin du même algorithm en PHP, mais ça ne fonctionne pas.
=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)
Je ne sais pas pourquoi il teste deux fois antal_slanor<4
, il devrait être équivalent à
=IF(CC_stolpar=2; IF(Antal_slanor<4; 6*Antal_dubbelgrind + 3*Antal_enkelgrind; Antal_dubbelgrind*Antal_slanor*2 + Antal_enkelgrind*Antal_slanor); 0)
Cela a nested les instructions IF, qui suivent le model IF-THEN-ELSE
IF (condition); what to do if condition is true; what to do if condition is false
Donc, votre IF externe est IF(CC_stolpar=2 THEN (do all this complicated stuff) ELSE 0
.
C'est assez simple. Soit CC_stolpar
est 2 ou il n'est pas, et s'il a une autre valeur que 2, alors le résultat est nul.
Ce «truc compliqué» résume les résultats de deux énoncés IF différents.
Le premier est
IF(Antal_slanor<4; 6*Antal_dubbelgrind; Antal_dubbelgrind*Antal_slanor*2)
Si Antal_slanor
less de 4 ans, multipliez Antal_dubbelgrind
fois 6.
Si Antal_slanor
est supérieur ou égal à 4, multipliez Antal_dubbelgrind
fois Antal_slanor
fois 2.
Vous n'en recevrez qu'un résultat, selon que Antal_slanor
less de 4 ans ou non.
Vous répétez essentiellement le même process pour l'autre IF et résume les résultats.
IF(Antal_slanor<4; 3*Antal_enkelgrind; Antal_enkelgrind*Antal_slanor);
Ces deux déclarations IF nestedes évaluent si Antal_slanor
est inférieur à 4. Donc, vous pouvez les merge dans une seule IF si cela vous Antal_slanor
.
À la fin, je suggérerais pour votre propre santé mentale et la santé mentale des autres personnes qui devront lire ceci après vous, conservez la formule aussi simple que possible dans votre code.
Il suffit de regarder les morceaux plutôt que dans une ligne.
Comme indice, il est CC_stolar = 2, alors le résultat est la sum de deux déclarations FI nestedes.
Peut-être que certains supports aideraient:
=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) }
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