Formule conditionnelle

Résolu/Fermé
co and co - 25 oct. 2008 à 09:27
gy_joe Messages postés 2 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008 - 26 oct. 2008 à 12:52
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

14 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
25 oct. 2008 à 11:26
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
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 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
25 oct. 2008 à 16:22
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
25 oct. 2008 à 17:37
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 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
25 oct. 2008 à 18:01
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
25 oct. 2008 à 18:42
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
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
25 oct. 2008 à 19:47
la formule du post 4 marche !
ou alors tu n'as pas donné tout tes impératifs..
0
Autant pour moi effectectivement cela fonctionne surper
et merci encore une fois
Corine
0
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
26 oct. 2008 à 10:35
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
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
26 oct. 2008 à 11:32
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
Je te remercie de ton explication
Bonne fin de week end
0
gy_joe Messages postés 2 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008
26 oct. 2008 à 12:04
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
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 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008
26 oct. 2008 à 12:52
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