Additionner des angles en degrès

  • Initiateur de la discussion Initiateur de la discussion juju59
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

juju59

XLDnaute Nouveau
Bonjour à tous,

je sollicite votre aide car je n'arrive pas à résoudre ce problème seul :

j'ai dans 6 colonnes des angles (provenant d'une girouette) allant de 0 à 360°.

Je souhaiterai faire la moyenne à la fin de chaque ligne de ces angles afin de les mettre sur un graphique pour les étudier (environ 4000 lignes de 6 colonnes).

Mon problème se pose lorsque les valeurs sont proches de 0°, c'est à dire par exemple 3*355° , et 3*2° ... ma moyenne est alors de 177.5° alors que je souhaiterai qu'elle soit de 358.5°.

J'ai trouvé une formule permettant de faire l'addition pour deux angles : ici la cellule B15 et la cellule A15

=MOD(360+B15+(MOD(A15-B15+180+360;360)-180)/2;360)

Source : Comment calculer la moyenne d'un ensemble d'angles?

Je n'arrive pas à l'adapter à 3 ou 6 angles...

Si quelqu'un a une solution, cela m'aiderai beaucoup

merci par avance
 
Re : Additionner des angles en degrès

Bonjour juju59, phlaurent55
Une autre proposition (matricielle) :
Code:
=SI(NB($B4:$G4)=COLONNES($B4:$G4);MOD(ARRONDI(SI(ARRONDI(SOMME(COS(0.0174532925199433*$B4:$G4));12)=0;SI(ARRONDI(SOMME(SIN(0.0174532925199433*$B4:$G4));12)=0;NA();180*(SOMME(SIN(0.0174532925199433*$B4:$G4))<0)+90);ATAN(SOMME(SIN(0.0174532925199433*$B4:$G4))/SOMME(COS(0.0174532925199433*$B4:$G4)))*57.2957795130823+180*(SOMME(COS(0.0174532925199433*$B4:$G4))<0));1);360);"")
(données en B4:G4)​
ROGER2327
#5264


Lundi 9 Merdre 138 (Vidange - Vacuation)
7 Prairial An CCXIX, 0,0062h - fromental
2011-W21-4T00:00:54Z
 
Re : Additionner des angles en degrès

Merci beaucoup à vous deux, j'ai gardé la solution de phlaurent55 car je ne souhaitais pas partir dans des matricielle ici.

Je ne sais pas comment vous faites pour trouver des solutions aussi rapidement mais en tout cas merci beaucoup !!

A bientôt
 
Re : Additionner des angles en degrès

Je crains de m'être réjoui trop rapidement...

Après quelques essais, je trouve cette erreur par exemple :

39 , 27 , 31 , 59 , 40 , 353 avec ceci je devrais obtenir 31.5 (39+27+31+59+40-7)/6 et j'obtiens 271 ...

Une autre idée ?..

Merci par avance
 
Re : Additionner des angles en degrès

Bonjour juju599
(…) j'ai gardé la solution de phlaurent55 (…)
Compte tenu des résultats qu'elle donne, vous avez certainement raison.​
ROGER2327
#5265


Lundi 9 Merdre 138 (Vidange - Vacuation)
7 Prairial An CCXIX, 5,5760h - fromental
2011-W21-4T13:22:57Z
 

Pièces jointes

Re : Additionner des angles en degrès

bonjour ROGER2327

J'ai également essayé avec votre formule mais excel me dit "vous avez tapez un nombre trop important d'argument pour cette fonction"

Je travaille sur un pc connecté à distance qui est sous 2007, je ne pense pas avoir fait d'erreur en convertissant la formule pour qu'elle fonctionne sous 2007... (remplacer ";" par "," et les "," par ".")

Code:
=SI(NB($J13:$O13)=COLONNES($J13:$O13),MOD(ARRONDI(SI(ARRONDI(SOMME(COS(0.0174532925199433*$J13:$O13)),12)=0,SI(ARRONDI(SOMME(SIN(0.0174535925199433*$J13:$O13)),12)=0,NA(),180*(SOMME(SIN(0,0174532925199433*$J13:$O13))<0)+90),ATAN(SOMME(SIN(0,0174532925199433*$J13:$O13))/SOMME(COS(0,0174532925199433*$J13:$O13)))*57,2957795130823+180*(SOMME(COS(0,0174532925199433*$J13:$O13))<0)),1),360),"")

Il est vrai que la formule fonctionne sur mon pc qui tourne en 2003... D'où peut venir cette erreur ?

merci
 
Dernière édition:
J'ai enfin compris d'où venait ce problème ! (Ouf !)

Il fallait activé la matrice avec Ctrl+maj+Entree

C'est la première fois que j'utilise une matrice, pourriez vous m'indiquez qu'elle est l'utilité de celle-ci ?

De plus, je m'interroge sur deux points de cette formule, que je souhaite comprendre pour mieux l'utiliser.

Le premier :

Code:
SOMME(COS(0.0174532925199433*$B4:$G4))
, que représente *$B4:$G4, est-ce la somme du contenu de ces cellules, ou le nombre de cellule ?

Deuxième point :

Code:
180*(SOMME(SIN(0.0174532925199433*$B4:$G4))<0)
Je ne comprends pas ce que le "<0" fait ici, en effet il n'est pas dans une condition d'un SI par exemple...

Merci d'éclairer ma lanterne.
 
Dernière édition:
Re : Additionner des angles en degrès

Suite…

  1. Dans le sabir microsoftien, l'expression "formule matricielle" n'a pas grand chose à voir avec ce qu'on entend généralement par calcul matriciel. Mais ça fait scientifique et ça embrouille bien : c'est l'essentiel pour épater le badaud.
    En fait, une formule matricielle est une formule qu'on doit valider par la combinaison de touches Ctrl Maj Entrée.
    Par exemple, en supposant que la plage A1:A3 contient les nombres -3, 0, 5, considérons les formules :
    Code:
    =SOMME((A1:A3>0)*1)
    =SOMME((A1:A3>0)+0)
    validées par Ctrl Maj Entrée.

    Que font-elles ? Elles comparent successivement les nombres en A1, A2, A3 avec 0 et renvoient les valeurs d'affichage FAUX, FAUX, VRAI. Toutefois, en interne, ces valeurs logiques sont représentées par 0, 0, 1. La multiplication par 1 ou l'addition de 0 sont là pour forcer la reconnaissance des valeurs logiques VRAI et FAUX sous leur forme numérique 1 et 0. Par conséquent, ces formules calculent la somme 0 + 0 + 1, soit 1. Autrement dit, ces formules comptent le nombre de valeurs strictement positives dans la plage de nombres A1:A3.

    On vérifiera que la formule
    Code:
    =(A1>0)+(A2>0)+(A3>0)
    (validée par Entrée) fait la même chose.

    Ce qui équivaut exactement à cette autre formule :
    Code:
    =NB.SI(A1:A3;">0")
    qu'on valide "normalement" par Entrée. On voit parfaitement qu'ici la qualification matricielle ne s'applique pas à la nature du calcul effectué, mais au mode de validation de la formule utilisée.

    Une autre formule classique et ses variantes, à valider "normalement", confirme ce constat :
    Code:
    =SOMMEPROD((A1:A3>0)*1)
    =SOMMEPROD((A1:A3>0)+0)
    =SOMMEPROD(--(A1:A3>0))
    Pour l'anecdote, car elles compliquent les choses sans apporter davantage, voici quelques formules qui fournissent le même résultat.

    Ces trois-là, pourtant authentiquement matricielles, sont à valider par Entrée :
    Code:
    =PRODUITMAT(-{1\1\1};-(A1:A3>0))
    =PRODUITMAT(-(COLONNE(A:C)>0);-(A1:A3>0))
    =PRODUITMAT(-SIGNE(COLONNE(A:C));-(A1:A3>0))
    Les trois suivantes doivent être validée par Ctrl Maj Entrée :
    Code:
    =PRODUITMAT(-TRANSPOSE(A1:A3>0);-{1;1;1})
    =PRODUITMAT(-TRANSPOSE(A1:A3>0);-(LIGNE(1:3)>0))
    =PRODUITMAT(-TRANSPOSE(A1:A3>0);-SIGNE(LIGNE(1:3)))
    On peut certainement en imaginer d'autres…

    Je joins un autre classeur (repris d'une ancienne discussion) où une formule plus complexe est construite par étape.


  2. Pour ce qui est du calcul de la moyenne d'angles mesurés dans l'intervalle [0;360[, la formule que j'ai suggérée doit être abandonnée.
    • D'une part elle est approximative et ne donne des résultats corrects que si les angles ont des mesures assez voisines. C'est d'ailleurs pourquoi je l'avais affublée d'un arrondi au dixième.
    • D'autre part elle est lourde et lente.
    J'en fournirai une autre plus simple et exacte même si les angles ont des mesures disparates. Je dois encore la tester et l'affiner : je la déposerai demain… ou après-demain, en fonction du temps que je pourrai y consacrer.
À bientôt.

ROGER2327
#5271


Jeudi 12 Merdre 138 (Saintes Miches, catéchumènes - fête Suprême Quarte)
10 Prairial An CCXIX, 0,2405h - faux
2011-W21-7T00:34:38Z
 

Pièces jointes

Re : Additionner des angles en degrès

Bonjour, salut Roger,

J'ai aussi eu beau chercher LA formule, sans la trouver.

Je bute sur la moyenne de deux angles : 90 et 270.
Quel doit être le résultat : 0, 360 ou 180 ?
Normalement elle devrait renvoyer un message d'erreur car il n'y a pas de résultat !

J'ai aussi essayé la fonction MOD, comme pour un calcul d'heures avant et après 24:00
Il me semble que c'est la piste qu'il faudrait exploiter, mais je n'y suis pas encore parvenu.

Je continue à chercher ... une formule simple
 
Re : Additionner des angles en degrès

Re,

Il me semble qu'il y a impossibilité de calculer, pour tous les cas de figure, la moyenne d'une série d'angles dont l'amplitude est supérieure à 180.
Exemple : 120, 240 et 360

En pièce jointe une formule, résultat d'un tableau intermédiaire, qui semble renvoyer les bons résultats.
Je n'ai pas encore cherché à la mettre en matricielle afin de supprimer le tableau intermédiaire.
Avant de le faire, je souhaite avoir votre avis quant aux limites de ce type de calcul (amplitude).
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour