Ecart (distance ) entre 2 nombres

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

  • Exemple écart num.xlsx
    10 KB · Affichages: 62

david84

XLDnaute Barbatruc
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+
 

Dranreb

XLDnaute Barbatruc
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.
 

mp5078

XLDnaute Occasionnel
Re : Ecart (distance ) entre 2 nombres

Bonjour ; merci pour ta réponse ; il y a 2 valeurs sur 3 de fausse en essayant la formule ; je ne suis pas assez compétant pour améliorer une formule aussi compliquée ; si tu as une autre idée merci d'avance
 

Pièces jointes

  • Exemple écart numéro EXC DOWN.xlsx
    9.6 KB · Affichages: 36

Dranreb

XLDnaute Barbatruc
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:

mp5078

XLDnaute Occasionnel
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 ?
 

mp5078

XLDnaute Occasionnel
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
 

mp5078

XLDnaute Occasionnel
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

  • Calculer prochain numéro.xlsx
    8.1 KB · Affichages: 49
  • Calculer prochain numéro.xlsx
    8.1 KB · Affichages: 59
  • Calculer prochain numéro.xlsx
    8.1 KB · Affichages: 50

mp5078

XLDnaute Occasionnel
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
 

Dranreb

XLDnaute Barbatruc
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:

mp5078

XLDnaute Occasionnel
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

  • Calculer prochain numéro.xlsx
    10 KB · Affichages: 49
  • Calculer prochain numéro.xlsx
    10 KB · Affichages: 58
  • Calculer prochain numéro.xlsx
    10 KB · Affichages: 53

Dranreb

XLDnaute Barbatruc
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:

Discussions similaires

Réponses
3
Affichages
467
Réponses
3
Affichages
334

Statistiques des forums

Discussions
312 931
Messages
2 093 721
Membres
105 796
dernier inscrit
Max...26