SI : un peu compliqué ^^

SmileKill -  
PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut j'ai établi un classement quasi automatisé (le flemmard :p) sur excel seulement il manque une seule chose le classement tout est automatisé, les points joueurs/équipes, par évènement, moyennes, sauf ça ^^ et j'aurai voulu l'automatiser en comparant les points ce qui donnerait :

=SI(M10>M2;SI(M10>M3;;SI(M10>M4;SI(M10>M5;SI(M10>M6;SI(M10>M7;SI(M10>M8;SI(M10>M9;SI(M10>M11;SI(M10>M12;SI(M10>M13;SI(M10>M14;SI(M10>M15;SI(M10>M16;SI(M10>M17;SI(M10>M18;SI(M10>M19;SI(M10>M20;SI(M10>M21;1;"NO-OK")))))))))))))))))))

Où M10 est strictement supérieur aux autres seulement quand je fais varier M10 pour qu'il soit strictement inférieur à une valeur minimum j'obtiens FAUX alors qu'il devrait écrire "NO-OK", j'ai ensuite compris qu'il fallait développer chaque si pour avoir chaque résultat mais je me suis confronté à la limite d'arguments,

quelqu'un a-t-il une idée pour m'aider car j'aurais bien aimé à ne pas avoir à trier tout manuellement surtout que j'ai prévu de peut-être rajouter des joueurs si j'en ai la possibilité ^^

Merci de votre aide qui me sera précieuse !

4 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Pourquoi ne pas utiliser la fonction Rang(...)
    1
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Simplifions les choses, si M10 est strictement supérieur aux autres valeurs c'est qu'il est la valeur max de la plage et que cette valeur max est unique, ce qui peut se traduire par la formule :
    =SI(ET(M10=MAX(M2:M21);NB.SI(M2:M21;MAX(M2:M21))=1);"OK";"NOK")

    Rien ne t'empêche ensuite de rallonger la plage et de modifier les références dans la formule qui elle ne s'allongera pas pour autant

    Cdlmnt
    Via
    0
  3. SmileKill
     
    "Simplifions les choses, si M10 est strictement supérieur aux autres valeurs c'est qu'il est la valeur max de la plage et que cette valeur max est unique, ce qui peut se traduire par la formule :
    =SI(ET(M10=MAX(M2:M21);NB.SI(M2:M21;MAX(M2:M21))=1);"OK";"NOK") "

    NON, NON et... non ! M10 est une variable correspondant à des points inscrits par un joueur t les valeurs que je lui compare aussi, ces valeurs peuvent donc changer en fonction des points inscrits M10 ne sera pas toujours une valeur Max, donc obligatoirement c'est faux :/

    "Bonjour

    Pourquoi ne pas utiliser la fonction Rang(...) "
    Ayant commencé les formules hier je ne connaît pas encore tout le panel que propose excel mais merci de l'aide !
    0
    1. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
       
      C'est pourtant bien toi qui as écrit "Où M10 est strictement supérieur aux autres " !
      De plus ta formule semble illustrer et confirmer cette information.
      J'ai donc compris exactement la même chose que via55 ...

      En réalité, que veux-tu afficher si M10>M2 ? et si M10>M3 ?
      Parce que ta formule est très fantaisiste et ne respecte aucunement la syntaxe de la fonction SI.
      Si tu viens de commencer avec les formules, choisis d'abord des exemples simples, avec seulement un ou deux SI, avant de t'attaquer à des usines à gaz comportant une vingtaine de fonctions SI !
      0
  4. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Voici un exemple avec la fonction RANG(...)

    les points sont en colonne M de M1 à M20

    =RANG(M10;$M$1:$M$20;0) le zéro à la fin pour un classement en ordre croissant, mettre 1 pour décroissant

    0