Ecart (distance ) entre 2 nombres

  • Initiateur de la discussion Initiateur de la discussion mp5078
  • 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 !

mp5078

XLDnaute Occasionnel
Bonjour ; le problème n'est pas simple ; j'aimerai trouver une formule pour calculer l'écart entre 2 nombres d'une liste de chiffres dont la particularité serait qu'il serait situé sur une roue afin de déterminer si l'écart est positif ou négatif ; dans le sens des aiguilles d'une montre c'est + et en sens inverse c'est - ; voici un exemple de 20 chiffres. ; je les ai mis dans l'ordre pour plus de simplicité

1 -2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 -20

ex : 5 et 12 : distance 7

ex : 16 et 11 : distance -5

Attention important il y a 2 conditions : il ne faut pas que la distance dépasse la moitié de la liste c'est à dire 10 en plus ou en moins

ex : 18 et 3 en sens inverse aiguille d'une montre cela fait : -15 ; cela dépasse la moitié ce n'est pas bon
on va dans le sens aiguille d'une montre et donc : distance entre 18 et 3 = 5
Je le répète c'est une roue
la 2eme condition est que la formule puisses fonctionner quel que soit l'ordre des 20 numéros : ex : 19 - 15 - 3 - 8 etc...
Merci d'avance pour celui qui donnera la réponse
 

Pièces jointes

Re : Ecart (distance ) entre 2 nombres

Bonjour,
ton exemple n'est pas assez explicite pour pouvoir tester les différentes possibilités.
Donc un début de réponse à tester et améliorer :
Code:
=SI(ABS(G16-H16)>10;SI(G16<H16;-(G16+MAX(E$3:E$22)-H18-MAX(E$3:E$22));MAX(E$3:E$22)-G16+H16);SI(G16<H16;H16-G16;G16-H16))
A+
 
Re : Ecart (distance ) entre 2 nombres

Bonjour
Vérifiez encore si ça marche dans tous les cas, en I16 :
Code:
=MOD(EQUIV($H19;$E$3:$E$22;0)-EQUIV($G19;$E$3:$E$22;0)+LIGNES($E$3:$E$22)/2;LIGNES($E$3:$E$22))-LIGNES($E$3:$E$22)/2
Cordialement.
 
Re : Ecart (distance ) entre 2 nombres

Je viens de déceler un minuscule défaut dans ma formule : 10 - 20 donne -10, ce qui n'est pas faux, mais si on préfère donner dans ce cas l'autre solution positive :
Code:
=MOD(EQUIV($H16;$E$3:$E$22;0)-EQUIV($G16;$E$3:$E$22;0)+0,484375*LIGNES($E$3:$E$22);LIGNES($E$3:$E$22))-0,484375*LIGNES($E$3:$E$22)
P.S. ou plutôt ça:
Code:
=MOD(EQUIV($H16;$E$3:$E$22;0)-EQUIV($G16;$E$3:$E$22;0)+0,5*LIGNES($E$3:$E$22)-1;LIGNES($E$3:$E$22))-0,5*LIGNES($E$3:$E$22)+1
À +
 
Dernière édition:
Re : Ecart (distance ) entre 2 nombres

Bonjour
Vérifiez encore si ça marche dans tous les cas, en I16 :
Code:
=MOD(EQUIV($H19;$E$3:$E$22;0)-EQUIV($G19;$E$3:$E$22;0)+LIGNES($E$3:$E$22)/2;LIGNES($E$3:$E$22))-LIGNES($E$3:$E$22)/2
Cordialement.

Re ; oui cela fonctionne parfaitement dans tous les cas ; merci beaucoup c'est parfait ; j'aurai une 2eme formule à vous demander si c'est possible ; on part du même tableau et on cherche autre chose ; possible pour vous de le faire ?
 
Re : Ecart (distance ) entre 2 nombres

Je viens de déceler un minuscule défaut dans ma formule : 10 - 20 donne -10, ce qui n'est pas faux, mais si on préfère donner dans ce cas l'autre solution positive :
Code:
=MOD(EQUIV($H16;$E$3:$E$22;0)-EQUIV($G16;$E$3:$E$22;0)+0,484375*LIGNES($E$3:$E$22);LIGNES($E$3:$E$22))-0,484375*LIGNES($E$3:$E$22)
À +

cela fonctionne parfaitement ; merci
 
Re : Ecart (distance ) entre 2 nombres

Voila le 2ème problème : on part du même tableau et dans tous les cas cette fois-ci on fonctionne dans le sens des aiguilles d'une montre : on part d'un nombre : 17 ; on a un écart de 4 ; il faut calculer le nouveau nombre : 1
Fichier joint ; merci d'avance !
Ce sera tout !
 

Pièces jointes

Re : Ecart (distance ) entre 2 nombres

Bonjour.

Essayez :
ou

Edit : La 2° proposition est erronée. Je l'ai supprimée.

Rectification ; cela ne fonctionne que dans l'ordre numérique de 1 à 20 ; il faut que cela puisse fonctionner quel que soit l'ordre des 20 nombres : ex : 17 - 5 - 3 - 8 - 15 etc dans ce cas par exemple ancien numéro 17 écart 3 et donc nouveau numéro 8
Merci d'avance
 
Re : Ecart (distance ) entre 2 nombres

Si la soulution de victor fonctionne dans l'ordre, remplacer dans sa formule G16 et H16 par EQUIV($G16;$E$3:$E$22;0) et EQUIV($H16;$E$3:$E$22;0)
Si ce sont bien les écarts de rangs qui vous intéressent, mais ça je n'en doute pas.
Et bien sûr =INDEX($E$3:$E$22;LExpressionDeSaFormule)
À +
 
Dernière édition:
Re : Ecart (distance ) entre 2 nombres

Cela ne marche pas , et ce même avec la nouvelle formule de Dranreb ; j'ai fait 2 feuilles 1 et 2 ; dans la 1 la formule de Victor et dans la 2 la formule de Danreb voir fichier joint
Rappel cela doit fonctionner uniquement dans le sens horaire ( sens des aiguilles d'une montre de haut en bas du tableau et en circulaire ; si on arrive à la fin du tableau on compte le restant de l'écart à partir du début

Merci d'avance !
 

Pièces jointes

Re : Ecart (distance ) entre 2 nombres

En fait c'est :
Code:
=INDEX($E$3:$E$22;MOD(EQUIV($G16;$E$3:$E$22;0)+$H16-1;LIGNES($E$3:$E$22))+1)
Hé, hé ! Peau de banane: dans la Feuil1 le 9 manque et le 16 est deux fois. Pas géré ça !

À +
 
Dernière édition:
- 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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Réponses
9
Affichages
893
Réponses
3
Affichages
668
Retour