fonction si(et(ou

code187

XLDnaute Nouveau
Bonsoir,
j'ai un probleme avec une formule.

si(a1) est inférieur à 20000 et supérieur à 9999 et que (a2) est inférieur à 20 et supérieur à 9 alors c'est 2 sinon c'est 0

merdi d'avance à vous tous.
 

code187

XLDnaute Nouveau
voila un exemple de ce que je veux imbriquer dans la meme cellule :

si(a1) est inférieur à 10000 et supérieur à 0 et que (a2) est inférieur à 10 et supérieur à 0 alors c'est 1 sinon c'est 0

si(a1) est inférieur à 20000 et supérieur à 9999 et que (a2) est inférieur à 20 et supérieur à 9 alors c'est 2 sinon c'est 0

si(a1) est inférieur à 30000 et supérieur à 19999 et que (a2) est inférieur à 30 et supérieur à 19 alors c'est 3 sinon c'est 0

si(a1) est inférieur à 40000 et supérieur à 29999 et que (a2) est inférieur à 40 et supérieur à 29 alors c'est 4 sinon c'est 0

si(a1) est inférieur à 50000 et supérieur à 39999 et que (a2) est inférieur à 50 et supérieur à 39 alors c'est 5 sinon c'est 0

etc... jusqu'a 100000 ou 200000.
 

ya_v_ka

XLDnaute Impliqué
re hello

alors oui, c'est possible, mais je suppute qu'il existe une méthode plus simple à mettre en route...

=SI(ET(A1<10000;A1>0;A2<10;A2>0);1;SI(ET(A1<20000;A1>9999;A2<20;A2>9);2;SI(ET(A1<30000;A1>19999;A2<30;A2>19);3;0)))

et tu peux continuer à en imbriquer, mais je penses que les pros te proposeront quelque chose de plus simple !

ya'v
 

code187

XLDnaute Nouveau
ta deuxième solution est super et ca marche bien.
mais je me trouve confronté a un problème.


exemple :

quand je suis inférieur à 10000 et supérieur à 0 et que (a2) est inférieur à 10 et supérieur à 0 alors
c'est 1 sinon c'est 0

quand je suis inférieur à 20000 et supérieur à 9999 et que (a2) est inférieur à 20 et supérieur à 9
alors c'est 2 sinon c'est 0

quand je suis inférieur à 30000 et supérieur à 19999 et que (a2) est inférieur à 30 et supérieur à 19
alors c'est 3 sinon c'est 0

quand je suis inférieur à 40000 et supérieur à 29999 et que (a2) est inférieur à 40 et supérieur à 29
alors c'est 4 sinon c'est 0

quand je suis inférieur à 50000 et supérieur à 39999 et que (a2) est inférieur à 50 et supérieur à 39
alors c'est 5 sinon c'est 0


etc...

si j'ai (a1) qui est de 35000 et (a2) qui est de 23 , il me donne l'indice 0 , car (a2) est trop petit pour avoir l'indice 4, mais moi j'ai assez pour avoir avoir l'indice 3 , et je voudrais qu'il le mette a la place du 0.

je sais pas si je me suis bien fait comprendre, mais je peut recommencer si il faut :) .
 

ya_v_ka

XLDnaute Impliqué
bonjour bien matinal pour moi ...

si cette fois j'ai bien compris, c'est quelque chose comme ca que tu cherches :

=SI(OU(A1=0;A2=0);0;MIN(ENT(A1/10000);ENT(A2/10))+1)

sinon il me faut plus d'explications !

ya'v

Message édité par: ya_v_ka, à: 15/09/2005 02:23
 

ya_v_ka

XLDnaute Impliqué
salut

supercontent que ca te serve...merci
petite explication alors:


si A1 ou A2 = 0, résultat est 0, sinon renvoyer le plus petit entier, (augmenté de 1) résultant de A1 divisé par 10000 et de A2 divisé par 10

donc si A1 = 24563 : divisé par 10000 = 2.4563 donc l'entier = 2
si A2 = 17 : divisé par 10 = 1.7 donc l'entier = 1
renvoi de la plus petite valeur = 1, augmenté d'1 pour avoir le bon indice = 1 + 1 = 2

=SI(OU(A1=0;A2=0);0;MIN(ENT(A1/10000);ENT(A2/10))+1)
autre possibilité en passant par les arrondis :
=SI(OU(A1=0;A2=0);0;MIN(ARRONDI.SUP(A1/10000;0);ARRONDI.SUP(A2/10;0)))

voili-voilou

pour l'explication détaillée de chaque fonction, l'aide d'excel est meilleure que moi ...

à noter que ca fonctionne aussi si l'indice de A2 est supérieur à celui de A1, sinon il faut tout modifier !!!

ya'v

Message édité par: ya_v_ka, à: 15/09/2005 02:38

Message édité par: ya_v_ka, à: 15/09/2005 02:46
 

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet