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é...

7 réponses

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

    essaies
    =SI(ABS(A1-A2)<5;3;SI(ABS(A1-A2)<6;2,5;2))
    0
  2. 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
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  7. 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
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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