Logique fonction SI Excel

Bonjour à tous,

Pour un calcul d'angle au vent en aéronautique entre la route et le vent (les deux ont des valeurs comprises entre 000 et 360), j'ai mis une logique avec la fonction SI. les valeurs d'entrée sont la route en B3 et la direction du vent en B4. tous les calculs sont bons sauf pour les valeurs supérieures à 270 et je ne comprends pas pourquoi.

Voici la logique:

=SI(ABS(B4-B3)<=90;ABS(B4-B3);SI(180>=ABS(B3-B4)>90;ABS(180-ABS(B4-B3));SI(270>=ABS(B3-B4)>180;ABS(360-B4+B3);SI(ET(ABS(B3-B4)>270;B3>270);360-(B3-B4);360-(B4-B3)))))

route 350

vent 10

angle au vent 160

La valeur calculée est 160 alors qu'elle devrait être de 20. Je ne comprends pas pourquoi la valeur est fausse.

Est-ce que quelqu'un pourrait m'aider à résoudre mon erreur ?

Merci beaucoup pour votre aide !

Bonne soirée

gervaism2000

Bonjour et sur le forum,

ce genre de choses: "180>=ABS(B3-B4)>90" marchent sur Excel 2016??? Je ne suis pas convaincu... pour moi ça doit faire: 180>=ABS(B3-B4) = VRAI/FAUX -> VRAI/FAUX>90 = VRAI, ou quelque chose comme ça.

De plus, je ne pense pas que ça soit bien utile vu la construction de la formule entre nous... tu vérifies dans ton premier si que la valeur soit inférieure ou égale à 90, si ce n'est pas le cas, tu passes à ton prochain SI ou tu veux que ce soit supérieur à 90... sauf qu'en fait, cette condition est déjà remplie comme tu passes à ce SI là...

J'aurais écrit ta formule comme ça:

=SI(ABS(B4-B3)<=90;ABS(B4-B3);SI(ABS(B3-B4)<=180;ABS(180-ABS(B4-B3));SI(ABS(B3-B4)<=270;ABS(360-B4+B3);SI(;B3>270;360-(B3-B4);360-(B4-B3)))))

J'ai bien 20 avec la formule corrigée.

Bonjour Ausecour,

Merci beaucoup pour ton aide !! c'est super !!

je vais essayer de perfectionner les calculs en définissant si le vent vient de la gauche/droite et face/arrière. Je vais donc faire d'autre calcul avec SI et si je n'arrive pas à trouver la bonne formule je solliciterai peut-être ton aide à nouveau.

Merci encore pour le temps passé et ton aide.

Bonne soirée

gervaism2000

Re bonjour Ausecour,

je clique sur le bouton pour valider mais j'ai l'impression que cela ne marche pas.

que faut-il faire pour cloturer le sujet ?

Bonne soirée

Gervaism2000

il s'affiche ci dessous qd je clique:

Bonjour,

je ne sais pas trop où se trouve le bouton pour passer le sujet en résolu, tu devrais le trouver quelque part, mais tu n'es pas le premier membre à ne pas le trouver apparemment... Si tu ne le trouves pas, ce n'est pas grave

Bonsoir à tous,

Merci beaucoup Ausecour encore une fois !

Je souhaiterai maintenant calculer le temps avec vent de chaque branche. La correction dépend de l'angle du vent avec la route ainsi que de la force du vent.

J'ai donc créé la formule barbare ci-dessous qui ne marche pas pour chaque cas (facteur de correction qui dépend de l’angle au vent et si c’est arrière ou de de face). Mon problème est le suivant :

  • comment arrondir le temps sans vent I9 à la minute inférieur ou supérieur (voire à 30 s près). I9 est égal à la distance H9* facteur de base (M1) que j'ai transformé en temps (H9*$M$1/1440)
  • Ensuite pour la correction du vent, dans le cas ci-dessous, j'ai D9=60° (angle au vent) et E10=A (le vent est arrière donc il me pousse). Je vais donc mettre moins de temps avec le vent. Je corrige donc mon temps sans vent (I9, temps en min, sec que je souhaiterai arrondir) de la correction en vent. Je souhaiterai donc enlever à mon temps I9 la correction
Nombre arrondi de minute I9 * Force du vent (E6) * facteur de base (M1) * correction angle au vent (ici =0.5 car angle de 60°). Cette correction est un temps en sec. Ensuite il faut que le nouveau temps trouvé (I9 en min,sec - correction en sec) soit bien en min, sec et également arrondi à la minute inf/sup (voir 30 s près).

J’ai pour cela la formule I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,5;0);0) qui n ‘est malheureusement pas bonne.

=SI(ET(E10="A";D9<=10);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*1;0);0);SI(ET(E10="A";D9<=20);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,9;0);0);SI(ET(E10="A";D9<=30);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,8;0);0);SI(ET(E10="A";D9<=40);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,7;0);0);SI(ET(E10="A";D9<=50);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,6;0);0);SI(ET(E10="A";D9<=60);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,5;0);0);SI(ET(E10="A";D9<=70);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,3;0);0);SI(ET(E10="A";D9<=90);I9-ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0;0);0); SI(ET(E10="F";D9<=10);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*1;0);0);SI(ET(E10="F";D9<=20);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,9;0);0);SI(ET(E10="F";D9<=30);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,8;0);0);SI(ET(E10="F";D9<=40);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,7;0);0);SI(ET(E10="F";D9<=50);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,6;0);0);SI(ET(E10="F";D9<=60);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,5;0);0);SI(ET(E10="F";D9<=70);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0,3;0);0);SI(ET(E10="F";D9<=90);I9+ARRONDI(ARRONDI.INF(H9*$M$1;0)*ARRONDI($E$6*$M$1*0;0);0)))))))))))))))))

Route Angle Cap Z sécu Distance Tsv Tav

D/G F/A

256 60 250 14 09:48 ####

G A

merci d'avance pour votre aide précieuse !

bonne soirée

gervaism2000

Rechercher des sujets similaires à "logique fonction"