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

Microsoft 365 Formule si avec plusieurs conditions

DR85

XLDnaute Junior
Bonjour,

Dans cette formule
=SI(ET(N2>A2); NB.JOURS.OUVRES(A2;N2); SI(N2=""; SI(AUJOURDHUI()>A2; "retard";""); SI(N2=A2; "ok"; NB.JOURS.OUVRES(A2;N2))))
je souhaiterais que dans la partie en rouge il vérifie en plus que si A2=01/01/2023 il renvoie "" et pas retard comme c'est le cas actuellement (par rapport a la date d'aujourd'hui).
Pourriez vous svp m'aider?
Damien
 
Solution
Est-ce que cette formule :
Code:
=SI(J2;SI(N2;NB.JOURS.OUVRES(J2;N2);NB.JOURS.OUVRES(J2;AUJOURDHUI()))-1;SI(N2;"erreur";""))
donne les mêmes résultats que ta formule :
Code:
=SI(ET(J2<>"";N2<>"");NB.JOURS.OUVRES(J2;N2)-1;SI(ET(J2<>"";N2="");NB.JOURS.OUVRES(J2;AUJOURDHUI())-1;SI(ET(J2="";N2="");"";SI(J2="";"erreur"))))

JHA

XLDnaute Barbatruc
Bonjour à tous,

A tout hasard car la formule me parait mal construite.
VB:
=SI(N2>A2; NB.JOURS.OUVRES(A2;N2); SI(N2=""; SI(ou(AUJOURDHUI()>A2;A2="01/01/2023"*1); "retard";""); SI(N2=A2; "ok"; NB.JOURS.OUVRES(A2;N2))))

As-tu un fichier de quelques lignes avec la formule actuelle?
 

DR85

XLDnaute Junior
Merci mais a priori ca ne fonctionne pas. Je vous joins le fichier. Le problème se pose pour les lignes 1/01/2023. Pour les autres ça fonctionne correctement. La formule se trouve dans la colonne E.
Merci
 

Pièces jointes

  • BP délai2.xlsm
    98.5 KB · Affichages: 3

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer
VB:
=SI(C1024>A1024; NB.JOURS.OUVRES(A1024;C1024); SI(ET(C1024="";A1024="01/01/2023"*1);"";SI(C1024=""; SI(AUJOURDHUI()>A1024; "retard";""); SI(C1024=A1024; "ok"; NB.JOURS.OUVRES(A1024;C1024)))))

JHA
 

Pièces jointes

  • Essai BP délai2.xlsm
    106.4 KB · Affichages: 6

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour,
Je ne sais pas si la formule est si mal construite... Je me dis simplement qu'à la lecture de E1024, comme aucune date date n'est renseignée dans C1024, la condition
=SI(ET(C1024>A1024); NB.JOURS.OUVRES(A1024;C1024); SI(C1024=""; SI(AUJOURDHUI()>A1024; "retard";""); SI(C1024=A1024; "ok"; NB.JOURS.OUVRES(A1024;C1024))))
est respectée parce qu'aujourd'hui est très largement au dessus du 01/01/2023
Par ailleurs, si je comprends bien, les colonnes B et D ne servent à rien (dans le calcul "of course"...)
Pour finir, je serai responsable de l'assurance qualité de votre boite, je serai intéressé de voir comment les "retard" sont traités.
Enfin, vous connaissez beaucoup d'entreprises (à part Amazon) qui travaillent le 1er janvier ?
La boite ferme t-elle au mois d'août (à ajouter aux périodes de jours fériés) oups...
Bref, je passai là par hasard et je vous salue cordialement . J'ai encore peut-être dit des bêtises (ça m'arrive souvent)
Pierre
 

DR85

XLDnaute Junior
Bonjour Pierre,
On est loin de Amazon...PME de 150 salariés. En fait c'est pour voir si on peut améliorer le flux et la fiabilité des infos entre les différents services (ADV, prod, expédition). Pour le moment c'est experimental. 01/01/23 ou vide j'avais toujours le renvoi retard. Maintenant ça a l'air de fonctionner donc merci a tous. Je reviendrai certainement pour améliorer 2/3 choses... effectivement la boite ferme 3 semaines au mois d'aout...je ne sais pas encore comment je vais traiter cette info! Si vous avez une idée.
Cordialement
 

DR85

XLDnaute Junior
Je souhaiterais calculer le % de cellule avec le texte "retard" dans la colonne F. Voila la formule que je pensais utiliser =NB.SI(F:F; "retard") / NBVAL(F:F). Problème il prend en compte la totalité des cellules même vide (il y a une formule mais qui renvoie ""). Comment résoudre ce problème ? En réalité il devrait prendre en compte uniquement les cellules "nombre" et "texte" le reste devrait être ignoré.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Pour le nombre de valeur, à essayer
VB:
=NB.SI(A:A;">"&"01/01/2023"*1)
soit
VB:
=NB.SI(F:F;"Retard")/NB.SI(A:A;">"&"01/01/2023"*1)
10.19%

JHA
 
Dernière édition:

Constantin

XLDnaute Occasionnel
Supporter XLD
Peut-être...
J'y travaille
Merci de ta réponse.
Pierre
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Re...
Pour l'instant, j'en déduis que seul le volet "expédition" est en cours de traitement.
Je suppose qu'une ME (et non une PE) dispose de plusieurs services.
Quid de ADV (à me décliner si tu le veux bien - administration des ventes?) et de prod ?
N'hésites pas à m'envoyer ces précisions.
J'ai besoin de savoir à quel niveau d'analyse tu situes ton besoin.
Exemple : Le service "production" dispose de 65 employés hors administratifs ou non (selon). En raison des congés, absences maternités, maladies, enfants malades, souffrance au travail et que sais-je, sur ces 65 employés recrutés seuls 15 seront mobilisables pendant les 15 jours à venir. Définis-tu un seuil d'alerte de faisabilité ou tu le fais à la louche (ce n'est pas une critique) ? Comment le sais-tu ?
J'ai, dans une vie antérieure, travaillé pour mon service au sein d'une administration dépendant d'un grand ministère. Cela m'a permis, compte tenu des impératifs réglementaires et choix de chacun de pouvoir établir des tableaux de suivis et surtout de plannification et réactivité plutôt utiles.
J'ai demandé à mes ex-collègues de m'envoyer mes fichiers de base pour t'aider.
C'était l'époque où Office 365 n'existait pas dans les administrations... et n'est pas près d'exister!
Pour toi mais aussi pour moi, je vais essayer de te proposer quelques bidouilles mais il faut que tu (nous) éclaires.
Bien cordialement,
Pierre
 

DR85

XLDnaute Junior
Re,
Je vais essayer de résumer: « ADV »: administration des ventes et «prod »roduction.
Je travaille pour un négociant en vins qui est aussi producteur. Pour l’instant je me focalise sur le volet expédition. Problème récurrent: l’ADV demande des préparations de commandes avec une date d’expédition imposée. Mais il est fréquent que la date imposée ne soit pas respectée, c’est à dire que les commandes restent en stockage alors qu’elles sont prêtes à temps. Par conséquent ça met la pression sur le service expédition (charges de travail intense). Découle un problème de stockage des commandes qui aurait dû partir. C’est pour cela que je cherche à déterminer les pourcentages de commandes qui ne respectent pas la date d’expédition. Petite précision: chez nous c’est l´ADV qui gère les enlèvements et non les expéditions. Merci pour ton aide
Damien
 

DR85

XLDnaute Junior
=SI(ET(J2<>"";J2<>N2);NB.JOURS.OUVRES(J2;SI(N2<>"";N2;AUJOURDHUI()))-1;"")
Dans cette formule je souhaiterais rajouter que si N2 est <> de vide et que N2=J2 il renvoie 0 si N2 est vide il fait le test par rapport à la date du jour et renvoi le nombre de jours ouvrés -1. Je n’arrive pas à le transcrire en formule….
merci
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

C'est le quatrième fil que tu ouvres pour quelque chose qui semble être la même question à chaque fois.

Plutôt que de nous donner une formule bancale qu'il faut qu'on essaye de réparer, je crois qu'il serait mieux que tu décrives clairement ce que tu veux obtenir comme résultat en fonction de certains critères (J2, Aujourdhui(), etc.).



Oui, je sais, je t'ai déjà demandé la même chose dans ton fil précédent et tu n'as pas donné les explications attendues, mais je retente tout de même ma chance ici.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…