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.

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
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.
Bonjour Sylvanu et le forum,
je viens de faire les essais et cela fonctionne très bien.
merci beaucoup
 

Discussions similaires

Réponses
5
Affichages
508

Statistiques des forums

Discussions
312 107
Messages
2 085 359
Membres
102 874
dernier inscrit
Petro2611