Formule miracle ?
Nicolas Desormeaux
-
shadows31 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
shadows31 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche depuis un bon moment deja, jai fouiller google de fond en comble mais je ne trouve pas. J'explique mon probleme. Je fais une feuille de personnage (style jeux video) je voudrai qu'a chaque niveau cela coute plus que le niveau precedent. Exemple.
Exp recu Niveau
A1________A3
Jaimerai que lorsque a1 =20 que a3 =1
Jaimerai que lorsque a1 =60 que a3 =2
Jaimerai que lorsque a1 = 120 que a3=3
Jaimerai que lorsque a1 =180 que a4=4
Cest un calcul que chaque niveau prend 20 exp recu de plus que le precedent. Il y a til un moyen qu'en inscrivant l'exp recu le niveau soit calculer automatiquement ?
Je cherche depuis un bon moment deja, jai fouiller google de fond en comble mais je ne trouve pas. J'explique mon probleme. Je fais une feuille de personnage (style jeux video) je voudrai qu'a chaque niveau cela coute plus que le niveau precedent. Exemple.
Exp recu Niveau
A1________A3
Jaimerai que lorsque a1 =20 que a3 =1
Jaimerai que lorsque a1 =60 que a3 =2
Jaimerai que lorsque a1 = 120 que a3=3
Jaimerai que lorsque a1 =180 que a4=4
Cest un calcul que chaque niveau prend 20 exp recu de plus que le precedent. Il y a til un moyen qu'en inscrivant l'exp recu le niveau soit calculer automatiquement ?
A voir également:
- Formule miracle ?
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
5 réponses
Bonjour,
Si tu veux quelque chose de "dynamique" sans avoir à saisir tous tes SI ..... tu peux éventuellement passer par du VBA et une fonction personnalisée.
Par exemple :
NB: Avec un nbIntervMax à 300 tu peux aller jusqu'à 900000 .. si tu as besoin de plus tu augmente la valeur de nbIntervMax (soit dans la fonction ... soit en lui passant le second argument lors de son appel...
et pour l'utiliser il suffit de faire (dans une cellule...) :
ou
Si tu veux quelque chose de "dynamique" sans avoir à saisir tous tes SI ..... tu peux éventuellement passer par du VBA et une fonction personnalisée.
Par exemple :
Function getValByInterv(cell As Range, Optional nbIntervMax As Long = 300) As Long Dim interv As Long Dim interv_prec As Long Dim increm As Long increm = 0 interv = 0 interv_prec = 0 For i = 1 To nbIntervMax increm = increm + 20 interv = interv + increm If cell.Value > interv_prec And cell.Value <= interv Then getValByInterv = i End If interv_prec = interv Next End Function
NB: Avec un nbIntervMax à 300 tu peux aller jusqu'à 900000 .. si tu as besoin de plus tu augmente la valeur de nbIntervMax (soit dans la fonction ... soit en lui passant le second argument lors de son appel...
et pour l'utiliser il suffit de faire (dans une cellule...) :
=getValByInterv(A13)
ou
=getValByInterv(A13,300)
Bonjour
=SI(A1=20;1;SI(A1=60;2;SI(A1=120;3;SI(A1=180;4;""))))
je ne sais pas si c'est ce que vous cherchez, mais ça répond à la question au pied de la lettre
Ca peut être nuancé sur les valeurs de A1
=SI(A1<=20;1;SI(A1<=60;2;SI(A1<=120;3;SI(A1<=180;4;""))))
crdlmnt
=SI(A1=20;1;SI(A1=60;2;SI(A1=120;3;SI(A1=180;4;""))))
je ne sais pas si c'est ce que vous cherchez, mais ça répond à la question au pied de la lettre
Ca peut être nuancé sur les valeurs de A1
=SI(A1<=20;1;SI(A1<=60;2;SI(A1<=120;3;SI(A1<=180;4;""))))
crdlmnt
Bonjour,
et 21 ou 59 c'est 1 ou 2 ?
En attendant une formule plus générale :
eric
et 21 ou 59 c'est 1 ou 2 ?
En attendant une formule plus générale :
=ENT(A1/60)+1
eric
Jaimerai que lorsque a1 =20 que a3 =1
Jaimerai que lorsque a1 =60 que a3 =2
Jaimerai que lorsque a1 = 120 que a3=3
Jaimerai que lorsque a1 =180 que a4=4
1 - 20
20 - 60
60 - 120
par contre .. après ce n'est pas 180 .. mais 200 (je pense qu'il s'est trompé dans l'énnoncé)
vu qu'il indiquait :
chaque niveau prend 20 exp recu de plus que le precedent
ce qui correspond à
premier intervalle : 20 puis 40 puis 60 puis 80 puis 100...etc...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
pourquoi pas faire une petite base de données en D1:E4 OU AILLEURS
20 1
60 2
120 3
180 4
et faire une simple recherche verticale si tu tapes 20 dans A1 tu aura 1 en A3 si tu tape 120 en a1 tu aura 3 etc
=RECHERCHEV(A1;D1:E4;2;0)
Cest plus simple si l incrément change car on ne touches pas la formule
ou alors je nai pas compris le problème!!!!
pourquoi pas faire une petite base de données en D1:E4 OU AILLEURS
20 1
60 2
120 3
180 4
et faire une simple recherche verticale si tu tapes 20 dans A1 tu aura 1 en A3 si tu tape 120 en a1 tu aura 3 etc
=RECHERCHEV(A1;D1:E4;2;0)
Cest plus simple si l incrément change car on ne touches pas la formule
ou alors je nai pas compris le problème!!!!