Formule avec conditions
vivi98
-
Raymond PENTIER Messages postés 71862 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 71862 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Sur une fiche de pointage, je souhaite renseigner une formule excel qui fait que si un samedi travaillé est un pont, il en découle 0 heure de récupération.
Pour exemple, si un salarié travaille 8h ce vendredi 16 août 2013 qui est un pont dans la société où je travaille, l'intéressé récupérera ses 8h travaillées.
Si cela arrive un samedi en pont, ce n'est pas du tout le cas.
En fait la formule doit fonctionner pour n'importe quel jour qui est un pont, sauf le samedi.
J'espère être claire!
Merci de votre aide.
Sur une fiche de pointage, je souhaite renseigner une formule excel qui fait que si un samedi travaillé est un pont, il en découle 0 heure de récupération.
Pour exemple, si un salarié travaille 8h ce vendredi 16 août 2013 qui est un pont dans la société où je travaille, l'intéressé récupérera ses 8h travaillées.
Si cela arrive un samedi en pont, ce n'est pas du tout le cas.
En fait la formule doit fonctionner pour n'importe quel jour qui est un pont, sauf le samedi.
J'espère être claire!
Merci de votre aide.
A voir également:
- Formule avec conditions
- Formule si ou - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel ligne - Guide
- Mise en forme conditionnelle excel formule - Guide
5 réponses
Tu devrais nous envoyer une copie de ton fichier, avec des noms bidon.
Copie dans ton message le lien que tu auras créé à l'aide de https://www.cjoint.com/
Copie dans ton message le lien que tu auras créé à l'aide de https://www.cjoint.com/
Ah, vivi ! le piège classique des cellules fusionnées !
Ta formule en M71 est correcte : =SI(ET(M9="pont";M7="samedi");M69;0)
Mais une fois recopiée en N71 elle devient fausse, car dans
=SI(ET(N9="pont";N7="samedi");N69;0) tu fais appel à N9 et N7 qui sont vides, inexistantes car absorbées par M9 et M7 à cause de la fusion des cellules !
Ta formule en M71 est correcte : =SI(ET(M9="pont";M7="samedi");M69;0)
Mais une fois recopiée en N71 elle devient fausse, car dans
=SI(ET(N9="pont";N7="samedi");N69;0) tu fais appel à N9 et N7 qui sont vides, inexistantes car absorbées par M9 et M7 à cause de la fusion des cellules !
Maintenant que l'erreur est identifiée, tu disposes de deux manières d'y remédier.
La première, supprimer toutes les fusions, en sélectionnant les lignes 7 à 12 et en désélectionnant le bouton Alignement/Fusionner et centrer ; à la place, sélectionner C8 et D8, faire Format de cellule/Alignement/Horizontal/Centré sur plusieurs colonnes/OK. Puis sélectionner les autres couples de cellules et chaque fois cliquer sur [F4] afin de reproduire la même action.
La seconde, corriger les formules fausses ; dans D71 tu remplaces D9 par C9, et D7 par C7 ; tu obtiens =SI(ET(C9="pont";C7="samedi");D69;0) ;
puis tu sélectionnes C71:D71 et tu fais Copier-coller en E71, G71, I71 ... O71.
---------------------------------------------------------------------------------------------
Je te recommande vivement, lorsque tu as d'aussi gros fichiers et que tu tombes sur des formules erronées ou des résultats curieux, de vérifier le déroulement des opérations : Tu fais Formules/Audit de formules/Evaluation de formule et tu actionnes le bouton [Evaluer] pour voir chaque opération élémentaire se dérouler, et repérer l'endroit où ça coince.
Espérant t'avoir été utile.
La première, supprimer toutes les fusions, en sélectionnant les lignes 7 à 12 et en désélectionnant le bouton Alignement/Fusionner et centrer ; à la place, sélectionner C8 et D8, faire Format de cellule/Alignement/Horizontal/Centré sur plusieurs colonnes/OK. Puis sélectionner les autres couples de cellules et chaque fois cliquer sur [F4] afin de reproduire la même action.
La seconde, corriger les formules fausses ; dans D71 tu remplaces D9 par C9, et D7 par C7 ; tu obtiens =SI(ET(C9="pont";C7="samedi");D69;0) ;
puis tu sélectionnes C71:D71 et tu fais Copier-coller en E71, G71, I71 ... O71.
---------------------------------------------------------------------------------------------
Je te recommande vivement, lorsque tu as d'aussi gros fichiers et que tu tombes sur des formules erronées ou des résultats curieux, de vérifier le déroulement des opérations : Tu fais Formules/Audit de formules/Evaluation de formule et tu actionnes le bouton [Evaluer] pour voir chaque opération élémentaire se dérouler, et repérer l'endroit où ça coince.
Espérant t'avoir été utile.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai eu l'occasion de répondre à une question posée le 11 janvier 2011 dans le forum Excel par une certaine Sylvie, avec le même pseudo que toi. Une autre discussion sur le même sujet (fonction SI) a été lancée en février 2011.
Tu devrais donc t'inscrire comme membre ; c'est rapide, gratuit, et ça ne t'engage à rien ; par contre tu bénéficies de capacités supplémentaires, comme échanger un message privé avec un autre membre, ou consulter l'historique de tes interventions ...
https://www.commentcamarche.net/infos/25881-etre-membre-de-commentcamarche-pourquoi-comment/
Amitiés.
Tu devrais donc t'inscrire comme membre ; c'est rapide, gratuit, et ça ne t'engage à rien ; par contre tu bénéficies de capacités supplémentaires, comme échanger un message privé avec un autre membre, ou consulter l'historique de tes interventions ...
https://www.commentcamarche.net/infos/25881-etre-membre-de-commentcamarche-pourquoi-comment/
Amitiés.
si(et(C9="PONT";C7="SAMEDI");0)
si(et(C9<>"PONT";C7<>"SAMEDI";C69) sachant que la cellule C69 correspond au total des heures/jours
Merci.
Ta première formule est incomplète ; elle dit d'afficher 0 si les deux conditions sont remplies, mais pas ce qu'il faut afficher si au moins une d'elles n'est pas remplie ...
=SI(test;valeur_si_vrai;valeur_si_faux)
il manque valeur_si_faux !
D'autre part cette formule ne marche que si en C7 tu as saisi en toutes lettres "LUNDI", "MARDI" ... et non pas une formule, ou bien une date au format jjjj !
j'ai testé ces 2 formules aussi qui ne fonctionnent pas :
si(et(C9="PONT";C7="SAMEDI");C69;0) ... dans cette formule, tous les compteurs s'affichent à 0 (aucune heure n'est prise en compte)
et la même mais en inversant le 0 avec le C69 ... dans cette formule, toutes les heures sont prises en compte! y compris le samedi en pont...
les jours sont bien indiqués en texte et pas en formule date.
je ne comprends rien...
merci de ton aide