Formule SI plusieurs conditions
Bonjour à tous,
Cela fait plusieurs mois que je galère......
Je mets le fichier en PJ...je vous explique (en essayant d'être le plus clair possible):
Selon différentes situations, de jours en jours, plusieurs situations :
- un jour sans pose de congé ou pose de : ENF ou FRAC ou 151+FRAC = +1 dans le compteur SI le jour précédent est différent de 10 ou 10,5 (au cas ou la veille, ça tombe sur un compte en 1,5 ou 2,5 ou 3,5 ...Etc), sinon : le chiffre du jour précédent est répété
- un jour avec pose de 1/CP ou 1/2RTT ou 151+RTT ou 151+CP = +0,5 dans le compteur SI le jour précédent est différent de 10 ou 10,5 (au cas ou la veille, ça tombe sur un compte en 1,5 ou 2,5 ou 3,5 ...Etc), sinon le chiffre du jour précédent est répété + 0,5
L'idée est en plus que dès que l'on arrive à 10 ou 10,5 (ça dépend les jours posés..) le compteur redémarre à un et/ou 1,5 (si le jour précédent est arrivé à 9,5
Je vous remercie à tous et suis dispo pour plus d'explications...
Bonjour,
Je n'ai as forcément bien compris tous tes problèmes.
Mais une idée de piste;
1 - en lignes 12 à 23 , colonne B je mettrai les nombres de jours à compter, puis avec "recherchev", je recalcule en ligne8. Cela simplifie ta formule avec tous les Si, Ou , ET ...., cela permet aussi une mise à jour plus facile, si modification des jours, ajout ou suppression de conditions
2 - En ligne 9 J'ai recalcule le compteur, en tenant compte de la remise à zéro.
Possible par la suite de ne faire qu'une ligne à la place des lignes 8 et 9
Re bonjour,
Un GRAND MERCI à vous !
C'est une solution à laquelle je n'avais pas pensé, je restais obsédé par les SI...en me prenant la tête...
Afin de bien comprendre quand même.. si je résume
Ligne 8 : =SI(ESTERREUR(RECHERCHEV(H5;jour;2;FAUX));1;RECHERCHEV(H5;jour;2;FAUX))
Si la recherche trouve un élément, il indiquera 1 (forcément par défaut ce sera le cas tout le temps ! avec la case vide), et la deuxième partie et que si la recherche tombe sur un code de 0,5, il l'affichera : le ESTERREUR par contre je ne sais pas ..???
Ligne 9 : Tout compris. (astucieux)
Dernière chose : combiner ligne 8 et 9 ??? juste par curiosité...
Je vous remercie, Vincent
Pour le plaisir, mais à éviter je pense :
Fusion ligne 8 et 9
en F9 on pourrait avoir !.................
=SI(SI(ESTERREUR(RECHERCHEV(F5;jour;2;FAUX));1;RECHERCHEV(F5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))>=10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))-10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX)))>=10;SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+D9-10;SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))>=10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))-10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))))>=10;SI(ESTERREUR(RECHERCHEV(F5;jour;2;FAUX));1;RECHERCHEV(F5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))>=10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))-10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX)))>=10;SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+D9-10;SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))>=10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))-10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))))-10;SI(ESTERREUR(RECHERCHEV(F5;jour;2;FAUX));1;RECHERCHEV(F5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))>=10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))-10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX)))>=10;SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+D9-10;SI(ESTERREUR(RECHERCHEV(E5;jour;2;FAUX));1;RECHERCHEV(E5;jour;2;FAUX))+SI(SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))>=10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX))-10;SI(ESTERREUR(RECHERCHEV(C5;jour;2;FAUX));1;RECHERCHEV(C5;jour;2;FAUX))+SI(ESTERREUR(RECHERCHEV(D5;jour;2;FAUX));1;RECHERCHEV(D5;jour;2;FAUX)))))
re...
Effectivement ! a éviter..!
En, tout cas merci