Formule avec plusieurs conditions : je suis perdu
Coucou à vous tous
Je travaille sur un projet personnel. Un tableau de progression pour plusieurs personnages d’une même équipe de jeu.
Le tableau doit:
- calculer le nombre de formation “théorique” avec la valeur de départ et la valeur d’arrivé
- déterminer la valeur d’arrivé pour l’ensemble de personnage en fonction du nombre de jour décidés
Principes (je mets entre parenthèse les noms des cellules pour vous aider à me comprendre)
Le formateur a une valeur d’apprentissage brut qui indique l'augmentation de la caractéristique. Celle-ci est modifiée selon la valeur de départ en fonction de l'échelle suivante. Avec un formateur à 4par exemple :
- Niveau 0 : entre 0 et 25 : 100% => 4 (C5)
- Niveau 1 : entre 26 et 50 : 75% => 3 (C6)
- Niveau 2 : entre 51 et 75 : 50% => 2 (C7)
- Niveau 3 : entre 76 et 100 : 20% => 0,8 (C8)
Pour le nombre de formation théorique, j’ai comme cellule :
- Valeur actuelle (F5)
- Valeur souhaitée (F6)
- Nombre de formation (F7)
- Nombre de formation (arrondi au sup) (F8)
Voici la formule que j’ai écrit :
=SI(F5<26;((F6-F5)/C5);
SI(F5<51;((F6-F5)/C6);
SI(F5<76;((F6-F5)/C7);
SI(F5<101;((F6-F5)/C8);))))
Pour l’arrondi au supérieur, je n’ai pas réussi à l’intégrer dans cette formule, alors je les placée dans une cellule en dessous (F8)
Ca marche très bien quand la valeur souhaitée reste dans le même niveau que la valeur de départ.
Mon problème N°1
Le soucis, c’est que la valeur de départ et la valeur d’arrivé peuvent appartenir à des niveaux différents et qu’il existe plusieurs combinaison possible. Je voudrai que le tableau en fonction du niveau de départ et d’arrivé de calculer le nombre exact de jour de formation.
Par exemple si valeur de départ (F5)=30 et valeur souhaité est (F6)=80, il a trois tranches à prendre en compte : de 30 à 50, 51 à 75, et de 76 à 80.
Comment faire pour que le tableau prenne en compte le niveau 2 de départ et le niveau 4 souhaité?
Forcement au départ j’étais parti sur ce principe
((50-F5)/C6) + ((75-51)/C7) + ((F6-76)/C8) = F7
mais ca colle pas du tout.
Il faut partir sur des SI je pense, mais ça ferait une formule très longue non pour chaque hypothèse.
Une formule avec SI.CONDITIONS ? Bref, je patauge car cela dépasse mes connaissances sur Excell.
Ca c'est mon 1er soucis. Je reviendrai sur le deuxième (qui s'y approche) après.
Un grand merci d'avance pour votre aide !
Bonjour florinus,
pour l'arrondi.sup intégré à la formule en F7 :
=ARRONDI.SUP(SI(F5<25;(F6-F5)/C5; SI(F5<50;(F6-F5)/C6; SI(F5<75;(F6-F5)/C7;SI(F5<100;(F6-F5)/C8;""))));0)par contre le mystère est entier quant aux données des lignes 12 à 40
Allez vous chercher la correspondance de F6 dans les lignes 12 à 40?
Si oui, quelle correspondance (quelle ligne) renvoyez vous depuis les colonnes B et K?
et pour quelle raison?
njhub a écrit :Re,
voyez si le fichier joint répond à votre demande
Merci, c'est parfaitement ça ! j'avais pensé à cette idée de somme des différents niveaux, mais la aussi, je bloquais sur la formule.
Est ce que vous pouvez m'expliquer les formules utilisées? Comment avez-vous utilisez la colonne M?
Que je puisses les apprendre :p
Nijhub a écrit :pour l'arrondi.sup intégré à la formule en F7 :
Code: Tout sélectionner
=ARRONDI.SUP(SI(F5<25;(F6-F5)/C5; SI(F5<50;(F6-F5)/C6; SI(F5<75;(F6-F5)/C7;SI(F5<100;(F6-F5)/C8;""))));0)
Merci !!!! Ca marche
Il fallait penser a mettre la valeur d'arrondi a la fin de la formule et pas au début. Bien joué.
nijhib a écrit :par contre le mystère est entier quant aux données des lignes 12 à 40
Allez vous chercher la correspondance de F6 dans les lignes 12 à 40?
Si oui, quelle correspondance (quelle ligne) renvoyez vous depuis les colonnes B et K?
et pour quelle raison?
Les lignes 12 à 40 correspondent aux différents joueurs de l'équipe. (Attention, le tableau n'est pas encore mis en forme)
Les colonnes B, E, G, I, K correspondent à leurs caractéristiques actuelles.
Le but du tableau est pour les colonnes juste à droite de déterminer la valeur que la carac atteindra en fonction du nombre de jour de formation décidé (mais pas forcement celui présent en F7).
Du coup, la aussi, il faut prendre en compte les niveaux et modifier l'augmentation si elle dépasse un palier.
Par exemple, si je forme pendant 10 jours les joueurs sur la caractéristiques B, ils font dépassés le seuil de 75.
Il y aura en gros 7 jours avec le bonus 3, et 3 jours avec le bonus 2.
Il faut que la formule le prenne en compte.
J'ai ajouté aussi une petite fonction SI(ESTVIDE(C$11);B13)
Au final, le tableau devra donner le jour total de formation nécessaire pour arriver a tel ou tel niveau (et faire une moyenne de la valeur de l'équipe avant et après)
Bonjour Florinus,
Colonne M de
M1 à M25
=SI(ET(LIGNE()>=$F$5;LIGNE()<=$F$6);"1";""), de
M26 à M50
=SI(ET(LIGNE()>=$F$5;LIGNE()<=$F$6);"2";""), de
M51 à M75
=SI(ET(LIGNE()>=$F$5;LIGNE()<=$F$6);"3";""), de
M76 à M100
=SI(ET(LIGNE()>=$F$5;LIGNE()<=$F$6);"4";"")déterminent les valeurs utilisées dans le quotient par le bonus/formation.
Si la caractéristique souhaitée $F$6 est supérieure ou égale au numéro de ligne et que la caractéristique actuelle $F$5 est inférieure ou égale au numéro de ligne on affiche le texte "1" pour le premier niveau (M1 à M25), "2" pour le deuxième (M26 à M50) ...
En colonne D, par niveau, on fait le quotient du nombre des "1", "2", "3" et "4" de la colonne M par la colonne C.
En F7 on additionne les quotients, avec un arrondi.
Ok, je comprends un peu mieux.
Du coup la suite du tableau concernent les colonnes carac formée (D, G, J; M 16 à 27)
actuellement, la formule que j'utilise est :
=ARRONDI.INF(SI(C16<25;C16+(C$13*$E$5); SI(C16<50;C16+(C$13*$E$6); SI(C16<75;C16+(C$13*$E$7); SI(C16<101;C16+(C$13*$E$8); SI(ESTVIDE(C$13);C16)))));0)
Sauf que cela ne prend pas en compte le changement de niveau et la réduction du bonus/formation.
Voici le tableau mieux présenté en pièce jointe
Coucou
Ca fait deux jours que j'essaye et que je bloque. Meme en passant par un papier ou j'écris la logique de la chose.
Je continue a bosser la dessus, mais je crois que je vais appeler a l'aide très bientôt.