Formule miracle ?
Fermé
Nicolas Desormeaux
-
22 mars 2017 à 20:05
shadows31 Messages postés 2 Date d'inscription vendredi 24 mars 2017 Statut Membre Dernière intervention 25 mars 2017 - 25 mars 2017 à 00:27
shadows31 Messages postés 2 Date d'inscription vendredi 24 mars 2017 Statut Membre Dernière intervention 25 mars 2017 - 25 mars 2017 à 00:27
A voir également:
- Formule miracle ?
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule excel - Guide
5 réponses
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
23 mars 2017 à 01:05
23 mars 2017 à 01:05
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)
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
22 mars 2017 à 20:42
22 mars 2017 à 20:42
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
23 mars 2017 à 09:43
23 mars 2017 à 09:43
bonjour
=EQUIV(A1;{0;20;60;120;180};1)-1
=EQUIV(A1;{0;20;60;120;180};1)-1
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
23 mars 2017 à 12:19
23 mars 2017 à 12:19
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
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
23 mars 2017 à 12:30
23 mars 2017 à 12:30
Sauf que son intervall n'est pas systématiquement de 60 ... pour chaque niveau...
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
Modifié par eriiic le 23/03/2017 à 13:14
Modifié par eriiic le 23/03/2017 à 13:14
Sauf que on ne sait pas.
Moi je vois +1 à 60, 120 et 180.
J'ai bien 1 à 20, 2 à 60 etc
Pas de raison de faire plus compliqué jusqu'à plus ample informé non ?
.
Moi je vois +1 à 60, 120 et 180.
J'ai bien 1 à 20, 2 à 60 etc
Pas de raison de faire plus compliqué jusqu'à plus ample informé non ?
.
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
>
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
23 mars 2017 à 13:53
23 mars 2017 à 13:53
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...
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
23 mars 2017 à 16:55
23 mars 2017 à 16:55
il s'est sans doute trompé, mais rien ne dit où...
3 fois dans les valeurs ou 1 fois dans prend 20 exp ?
De toute façon ce débat est stérile tant qu'il ne se sera pas mieux expliqué, d'où ma question introductive : et 21 ou 59 c'est 1 ou 2 ?
3 fois dans les valeurs ou 1 fois dans prend 20 exp ?
De toute façon ce débat est stérile tant qu'il ne se sera pas mieux expliqué, d'où ma question introductive : et 21 ou 59 c'est 1 ou 2 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
shadows31
Messages postés
2
Date d'inscription
vendredi 24 mars 2017
Statut
Membre
Dernière intervention
25 mars 2017
25 mars 2017 à 00:27
25 mars 2017 à 00:27
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!!!!