Attribution selon différence entre deux chiffres

Résolu
Warp. Messages postés 1 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Voici mon problème;

Mes valeurs de bases (deux valeurs dans tous les cas) varient entre 0.25 et 12 et change uniquement par palier de 0.25.

La différence entre ces deux valeures et LA BASE du calcul.

ex; Valeur 1 = 3.25
Valeur 2 = 6.25

A partir de là, sachant que pour chaque palier de 0.25

entre 0 et 5, le point et de 3
entre 5 et 6, le point et de 2.5
entre 6 et l'infini le point et de 2

But, trouver le total de point selon la différence entre les deux valeurs.

Comment convertir ceci dans une formule tenant encore compte que la valeur 1 peut être plus élevée que la valeur 2.

J'ai bien essayé avec des formules en SI mais j'y perds mon latin (bien que je n'ai jamais apris le latin).

Merci au esprit éclairé...



A voir également:

7 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

essaies
=SI(ABS(A1-A2)<5;3;SI(ABS(A1-A2)<6;2,5;2))
0
Warp
 
Malheureusement cette formule ne fonctionne pas.

Voici ce que ça donnerai si je le ferai en manuel

Valeur 1 ; 3.25
Valeur 2 ; 6.25

de 3.25 à 5 = 1.75 1.75 / 0.25 = 7 7 x 3 = 21
de 5 à 6 = 1 1 / 0.25 = 4 4 x 2.5 = 10
de 6 à 6.25 = 0.25 0.25 / 0.25 = 1 1 x 2 = 2

TOTAL 33

Et il y a encore une complication dans le fait que la valeur 1 peut être plus élevée que la valeur 2.

Good luck...
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 728
 
bonjour,

Avec tes données en A1 et B1, cela pourrait donner ceci :

=(MIN(5;B1)-MIN(5;A1))/0.25*3+(MIN(6;B1)-MAX(5;A1))/0.25*2.5+(MAX(6;B1)-MAX(6;A1))/0.25*2
0
Warp
 
Merci,

Avec quelques rajouts voici la formule qui fonctionne.

=SI(A1<B1;((MIN(5;B1)-MIN(5;A1))/0.25*3)+((MIN(6;B1)-MAX(5;A1))/0.25*2.5)+((MAX(6;B1)-MAX(6;A1))/0.25*2);SI(B1<A1;((MIN(5;A1)-MIN(5;B1))/0.25*3)+((MIN(6;A1)-MAX(5;B1))/0.25*2.5)+((MAX(6;A1)-MAX(6;B1))/0.25*2);))

Bonne journée à tous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 11033 Statut Membre 2 433
 
bonjour à tous

@Warp
es tu sûr que ta formule fonctionne dans tous les cas?
chez moi, il y a un problème
pour 2 et 2.25 elle donne -24.5 au lieu des 3 attendus
pour 6.25 et 7 elle donne 3.5 au lieu des 6 attendus
....
mais je me suis peut être trompé

de mon côté, j'ai tenté une macro (peut être plus lisible que la formule excel)

Public Function valeur(v1 As Single, v2 As Single) As Single 
Dim mini As Single, maxi As Single 
If v1 = v2 Then valeur = 0: Exit Function 
If v1 < v2 Then 
  mini = v1: maxi = v2 
Else 
  mini = v2: maxi = v1 
End If 
Select Case maxi 
  Case 0 To 5:  valeur = (maxi - mini) * 3 / 0.25 
  Case 5 To 6 
    Select Case mini 
      Case 0 To 5: valeur = (5 - mini) * 3 / 0.25 + (maxi - 5) * 2.5 / 0.25 
      Case 5 To 6: valeur = (maxi - mini) * 2.5 / 0.25 
    End Select 
  Case Is > 6 
    Select Case mini 
      Case 0 To 5: valeur = (maxi - 6) * 2 / 0.25 + 1 * 2.5 / 0.25 + (5 - mini) * 3 / 0.25 
      Case 5 To 6: valeur = (maxi - 6) * 2 / 0.25 + (6 - mini) * 2.5 / 0.25 
      Case Is > 6: valeur = (maxi - mini) * 2 / 0.25 
    End Select 
End Select 
End Function


bonne suite
0
Warp
 
Effectivement dès que les deux valeurs sont en dessous de 5 ou en dessus de 6 il y a un problème.

La macro c'est bien, le problème c'est qu'au final ce calcul doit s'intégrer dans un autre.

S'il y a un amateur pour trouver la soluce.

J'y travail avec peine...
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
la fonction "macro" s'utilise comme une fonction excel (voir doc joint)
RQ. j'ai gardé tes opérations pour que tu puisses t'y retrouver, mais on peut simplifier
https://www.cjoint.com/?3LtlKkPjTvL

bonne suite
0