Formule conditionnelle

Résolu
co and co -  
gy_joe Messages postés 2 Statut Membre -
Bonjour,
Dans A2 figure la date de debut, dans B2 la date de fin. De C1 à N1 figure les mois format "janv 08 soit 01/01/08"
Mon problème je voudrais quand dans un mois la persone est présent figure 1 sinon "".
Ma formule actuelle est :En C2=SI(ET($A$2<C1;$B$2>C1);1;"") elle fonctionne en parti il me manque le premier mois
Je ne sais pas si j'ai été clair dans mon explication mais si j'avais une réponse ce serait génial.
Merci
A voir également:

14 réponses

Vaucluse Messages postés 27336 Statut Contributeur 6 441
 
Bonjour
Pas tout compris mais essayez, à tout hasard
soit:
C2=SI(ET($A$2=<C1;$B$2>C1);1;"")
ou
C2=SI(ET($A$2=C1;$A$2<C1;$B$2>C1);1;"")
pour pouvoir intègrer le 1° mois dans le raisonnement
Crdlmnt

1
co and co
 
Merci de m'avoir répondu rapidement.
J'ai essayé les 2 formules la première fonvtionne pais j'ai le même problème dans le premier mois le 1 ne s'affiche pas j'ai essayé au lieu de mettre O1/O1/08 DE mettre 31/01/08 c'est à dire fin de mois au lieu de début, le problème s'inverse le premier mois est identifier mais pas le dernier.
Je planche
Cordialement
0
Vaucluse Messages postés 27336 Statut Contributeur 6 441
 
A relire de plus près votre formule intiale, deux conclusions:

1° la deuxième proposition de mon message précédent ne peux pas marcher.Il faut la laisser tomber
2° Si vos cellules de C1 à N1 sont formatées avec 1/1/08 par exemple pour janvier, ça ne peut pas marcher car quoique vous fassiez pour l'affichage,Excel se référe toujours au 1/1/8 et non pas au mois complet:
essayez plutôt ceci:
Soit de C1 à N1, les nombres de 1 à 12

Si vous souhaitez avoir 1 lorsque les deux cellules comportent le mois identique correspondant à C1;
=SI(ET(MOIS($A$2)=C1;MOIS($B$2)=C1);1;0)
Et pour avoir le 1 si une des deux cellules correspond au mois, la même, mais avec OU au lieu de ET.
Si toutefois cela ne fonctionnait pas, tenter aussi de remplir vos cellules C1 à N1 comme suit pour qu'excel les considèrent bien comme des mois:
de C3 à N3: rentrez vos dates successives (1/1/8 2/2/8 etc................
Et en C1 jusqu'en N1, la formule:
=MOIS(C3)
Vpous pourrez ensuite faire un copier coller valeur sur C1/N1 et effacer C3/N3


Crdlmnt
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonsoir tout le monde,

mais si vaucluse ça peut marcher avec le mois sous forme 01/01/08.
Pourquoi n'utilises-tu pas mois() comme pour la date ?
en C2: =SI(ET(MOIS(C$1)>=MOIS($A2),MOIS(C$1)<=MOIS($B2)),1,"")
à recopier vers la droite, puis vers le bas.
Comme tu ne précisais pas s'il fallait être présent le mois complet pour avoir 1, cette formule retourne 1 si présent un jour dans le mois

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 27336 Statut Contributeur 6 441
 
Soir Eric
J'avais pensé que ce serait plus simple à expliquer en mettant les nombres de 1 à 12. Mais effectivement, ta formule revient au même,mais toujours en remplaçant les virgules par des points virgules :-)
Par ailleurs, ne connaissant pas les besoins exacts du demandeur, je me demande quelle est l'utilité du >= par rapport à une simple égalité,quitte à inverser les résultats à afficher dans la condition.
A2 ou B2 sont égaux ou non au mois en question, que faire du > ou< ?
..................mais ça c'est une autre histoire
Bien amicalement
Bon WE
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
re vaucluse,

il faut une inégalité obligatoirement.
rien ne dit que tu ne peux pas avoir fevrier en A2, aout en B2, et avril en C1.
Donc C1>=A2 ET C1<=B2 pour que le mois soit compris entre les deux et avoir 1
eric
0
co and co
 
Avant tout je vous remercie tous les deux de m'avoir répondu.
J'ai essayé les deux formules mais je je ni arrive pas voilà ce que j'ai fais.

=SI(ET($A$3-30<=E1;$B$3>E1);1;"")
Je pense que cette solution n'est pas idéale mais apparemment elle foctionnerait au niveau de la présence dès que le mois est commencé cela compte pour 1
Il y a certainement mieux car pour faire glisser le formule horizontalement et verticalement ce n'est pas génial
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
la formule du post 4 marche !
ou alors tu n'as pas donné tout tes impératifs..
0
co and co
 
Autant pour moi effectectivement cela fonctionne surper
et merci encore une fois
Corine
0
co and co
 
Début ASL Fin ASL juil.-07 août-07 sept.-07 oct.-07 nov.-07 déc.-07 janv.-08 févr.-08
08/11/2007 08/05/2008
12/01/2008 12/07/2008 1 1 1
05/03/2008 05/09/2008 1 1 1
10/03/2008 10/09/2008 1 1 1
08/03/2008 08/09/2008 1 1 1
Je reviens avec mon problème en fait hier je n'avais pas toutes les données voilà un extrait de ce dont j'ai besoin finalement le calcul peut doit ce faire à cheval sur 2 années.
j'ai essayé avec "y" et "ym" je pense (mode de calcul sur deux années mais mes connaissances sont limitées.
Les colonnes entête sont un peu décalées
Merci
Corine
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

avec ça c'est ok :
=SI(ET(ANNEE(C$1)*100+MOIS(C$1)>=ANNEE($A2)*100+MOIS($A2),ANNEE(C$1)*100+MOIS(C$1)<=ANNEE($B2)*100+MOIS($B2)),1,"")
eric
PS: remplacer les , par ;
0
co and co
 
Super testé avec succès
J'abuse peux tu m'expliqué pourqoui tu multiple par 100
Meric unj peux mélangé les lettres
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
L'idée est de fabriquer nombre tenant compte de l'année et du mois de façon que 01/2008 soit plus grand que 12/2007
Il faut donc l'année en tête, multipliée par 100 (=> 200700) pour laisser la place aux 2 chiffres du mois que l'on additionne.
=> 200801 > 200712
eric
0
co and co
 
Je te remercie de ton explication
Bonne fin de week end
0
gy_joe Messages postés 2 Statut Membre
 
Bonjour à toutes et tous,

Je me permets de vous solliciter pour obtenir de l'aide sur une fonction conditionnelle sous excel. Elle me semblait simple, mais en fait, elle ne l'est pas tant que cela...

Le but est que la cellule doit calculer en fonction de 3 montants palier un taux à appliquer

Si F2 est inférieur à 8000, alors F2x0.54% (il va chercher le % dans une autre cellule K25, J25 et I25)
Si F2 est supérieur à 8000 et inférieur ou égal à 15000 alors F2x0.44%
Si F2 est supérieur à 15000 alors F2x0.34%

La condition fonctionne bien sur les 2 premières, mais pas sur la troisième

=SI(F2<=8000;F2*$K$25;SI(F2>8000;F2*$J$25;SI(F2<=15000;F2*$J$25;SI(F2>15000;F2*$I$25;"0"))))

Merci infiniment pour votre aide qui me rafraichira également la mémoire sur les conditions.

Bonne journée !
0
co and co
 
Bonjour
Je ferai comme suit mais je ne sait pas si c'est la meilleure solution
7 000,00 23,80 7 023,80
7 500,00 25,50 7 525,50
8 000,00 35,20 8 035,20
15 001,00 XX=RECHERCHEV(F4;$J$1:$K$5;2)*F4


0,00 0,34%
7999,00 0,34%
8000,00 0,44%
15000,00 0,44%
15001,00 0,54%
0
gy_joe Messages postés 2 Statut Membre
 
Merci pour cette approche que je ne connaissais pas. Je vais l'essayer pour voir.

Cependant, en fouilllant un peu sur le site, j'ai trouvé une condition qui fonctionne et qui répond à ma demande... Je suis super content. Je la partage avec vous au cas ou d'autres auraient eu les mêmes soucis...

=SI(F2<=8000;F2*$K$25;SI(ET(F2>8000;F2<=15000);F2*$J$25;SI(F2>15000;F2*$I$25)))

en fait il me manquait un ET, qui modifie et qui simplifie la deuxième moitié de ma condition.

Très bon dimanche !
0