Attribution selon différence entre deux chiffres

Résolu/Fermé
Warp. Messages postés 1 Date d'inscription lundi 10 décembre 2012 Statut Membre Dernière intervention 19 décembre 2012 - 19 déc. 2012 à 08:05
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 19 déc. 2012 à 11:38
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é...



7 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
19 déc. 2012 à 09:03
Bonjour

essaies
=SI(ABS(A1-A2)<5;3;SI(ABS(A1-A2)<6;2,5;2))
0
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 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
19 déc. 2012 à 09:55
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
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 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 19/12/2012 à 11:08
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
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 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 19/12/2012 à 11:38
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