Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…