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

XL 2013 fonction Si avec conditions

gestionnaire

XLDnaute Nouveau
bonjour à tous,
je reviens vers vous avec le même classeur (je le joins) que j'essaie toujours d'améliorer.
Mon tableau calcul la somme des heures par semaines dans la colonne AI lorsque la cellule de la colonne R correspond à un dimanche. ensuite si ce résultat est supérieur au nombre d'heures que l'agent doit faire par semaine (cellule AG2), celui ci majore les 4 premières heures à 10%, les 4 suivantes à 25% et ainsi de suite (colonne AM à AS).
Tout cela fonctionne très bien.
Par contre, je souhaiterai faire en sorte que, si dans la semaine (qui correspond au résultat bien sur) il y a eu des "m"; "mtt" les heures ne soient pas majorées. Actuellement, je le fais "manuellement" en supprimant la formule.
merci d'avance pour votre temps et vos réponses.
 

Pièces jointes

  • 2022.03.31.recherche heures supérieures à 35h avec m ou mtt.xlsx
    181.3 KB · Affichages: 10
Solution
Re,
Peut être en AM21:
VB:
=SI(AI21>35;SI(NB.SI(T15:AG21;"m*")>0;"";SIERREUR(SI(AI21="";"";SI(ET(AI21<=$AG$2+4/24;AI21>$AG$2);AI21-$AG$2;SI(AI21>=$AG$2+4/24;4/24;"")));""));"")
On ne traite que les cellules où AMxx est >35, et on regarde si on a des "m*" dans toute la semaine courante.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Gestionnaire,
Pourquoi ne pas les exclure simplement si une cellule contient un "m", par ex, en AM21 avec :
VB:
=SI(NB.SI(T21:AG21;"m*")>0;"";SIERREUR(SI(AI21="";"";SI(ET(AI21<=$AG$2+4/24;AI21>$AG$2);AI21-$AG$2;SI(AI21>=$AG$2+4/24;4/24;"")));""))
 

gestionnaire

XLDnaute Nouveau
bonjour Sylvanu,
merci pour ta réponse. ta solution fonctionne mais cela implique qu'il faut que je sélectionne a chaque fois les zones à faire regarder.
en exemple la cellule AM21. j'aurai voulu faire comme dans ma colonne AI que :
Si AI 21 est supérieur à 35, je regarde dans la semaine qui correspond à ce total (soit de T15 à AG21) si j'ai des m ou des mtt, si il n'y en a pas j'applique la formule et si il y en a je ne fais rien.
je tire la formule jusqu'en bas et voilà
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Peut être en AM21:
VB:
=SI(AI21>35;SI(NB.SI(T15:AG21;"m*")>0;"";SIERREUR(SI(AI21="";"";SI(ET(AI21<=$AG$2+4/24;AI21>$AG$2);AI21-$AG$2;SI(AI21>=$AG$2+4/24;4/24;"")));""));"")
On ne traite que les cellules où AMxx est >35, et on regarde si on a des "m*" dans toute la semaine courante.
 

gestionnaire

XLDnaute Nouveau
Bonjour Sylvanu et le forum,
je viens de faire les essais et cela fonctionne très bien.
merci beaucoup
 

Discussions similaires

Réponses
3
Affichages
349
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…