Fonction si imbriqués

Fermé
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020 - 19 mars 2018 à 14:02
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020 - 26 mars 2018 à 17:18
je gère un tableau Excel de gestion d'avancement automatique des codes grades selon les catégories des agents; alors les conditions se posent ainsi qu'il suit.
1)- les données fournies par l'opérateur de saisie
a- le code grade initial dans la colonne D (ex 101, 103, 102, 104, 111, 123, 133, 223, 333,321 etc)
b- la date du dernier avancement
c- la durée avant avancement a été une donnée calculée entre la dernière date d'avancement et la date du jour (la colonne H=maintenant()-G(colonne des dates des derniers avancement)/365 pour avoir des années (1 chiffre après la virgule)
2) les conditions
a- si la durée H est < à 2 alors le code grade ne change pas, K (la colonne du code grade actualisé prend la valeur initiale dans D
b- si la durée H est égal à 2 alors K=D+1(sachant que la durée peut dépasser 2 sans agir, il faut une alerte ou comment faire?)
c- si la durée H est égal 3 et ou (D=104, 103, 204, 203, 304, 303, 404, 403, 504, 503) alors K=D+1(la durée peut aussi dépasser 3, comment agir pour l'alerte?)
d- si la durée H est égal 3 et ou (D= 133, 233, 333, 433, 533) alors K=D-12 (la durée peut déborder 3 dans ce cas comment gérer le dépassement en alerte)
e- si la durée H est égal 4 alors K=D-12 (là aussi, la durée peut aller à plus de 4 exemple 4,3 ou même 5, que faire pour l'alerte?)
f- à chaque sommet de chaque classe (code grade), la durée pour passer de l'avant dernier au sommet (ex, passer de 104 à 105, de 204 à 205, de 304 à 305, de 404 à 405 et de 504 à 505) la durée est indéterminée.
c'est là autant de conditions pour gérer mon tableau de gestion des avancements automatiques pouvez-vous me trouver une formule appropriée sous Excel merci par avance
A voir également:

6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 mars 2018 à 14:17
Bonjour,

Texte long et Difficile à comprendre sans voir le classeur

Mettre le classeur sans données confidentielles en pièce jointe sur 
https://mon-partage.fr/
Puis faire un clic droit copier le raccourci et coller dans votre message






0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
19 mars 2018 à 14:36
je ne trouve pas le chemin que vous préconisez sur la partie réponse à Michel, il y a pas un lien pour faire une pièce jointe à un quelconque fichier prière de bien spécifier le chemin pas à pas
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
19 mars 2018 à 15:35
alors je vais poser le problème autrement avec les si et alors
hypothèses: la colonne A est la colonne renseignée par le code grade agent exemple A6=103
la colonne D est la colonne qui reçoit les dates des derniers avancement (ex pour A6, sa date de dernier avancement D6 est 11/4/2016; la colonne E, elle reçoit la durée qui existe avant l'avancement qui est une donnée calculée (ex: E6=(maintenant()-D6)/365) cette donnée est un décimal à un chiffre pour notre cas, E6=1,9 si vous faite la formule la date du jour - le 11/4/2016 cela fait 1 an et 9 mois d'ou 1,9. enfin la colonne G est la colonne de la formule recherchée qui reçoit le nouveau code grade selon les conditions suivantes

si E6<2 alors G6=A6
si non si E6=2 alors G6=A6+1 (il peut arriver que E6 dépasse 2 qu'on ait E6=2,4 que faire pour l'alerte)
si non si E6=3 et ou (A6 peut être égal à 104, 103, 204, 203, 304, 303, 404, 403, 504, 503) alors G6=A6+1 (il peut arriver que E6 dépasse 3, que faire puisque la donnée évolue en fonction de la date du jour)
si non si E6=3 et ou (A6 peut prendre les valeurs 133, 233, 333, 433, 533) alors G6=A6-12 (le même problème se pose quand la donnée calculée dépasse la condition vérifiée, que faire si E6 = par exemple à 3,6 que faire en alerte)
si non si E6=4 alors G6=A6-12 (meme chose si on a E6=4,7 que faire pour l'alerte)
si non pour passer à la fin d'un code grade, le nombre d'année est illimitée ainsi donc pour passer de A6=104 à A6=105, A6=204 à A6=205, A6=304 à A6=305, A6=404 à A6=405 et A6=504 à A6=505 G6 est indéterminé il peut prendre une valeur strictement supérieur à 4 (5, 6, 9, 14) selon que l'administration en donne un critère.

voici de façon générale la problématique posée pour trouver une formule Excel qui peut la gérer merci donc de m'aider
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
19 mars 2018 à 15:50
rectificatif pour la dernière condition il faut lire plutôt si on se retrouve à la fin d'un code grade pour aller au code grade suivant la durée est indéfinie ainsi donc quand A6=105 c'est la fin de la carrière on n'évolue plus; si A6=205 alors G6 est très supérieur à 4 de même pour A6=305, 405, 505 merci de me comprendre et m'aider
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
19 mars 2018 à 18:56
Bonjour

Voici un début de réponse

en E6 mettre cette formule:

=SI((MAINTENANT()-D6)/365<2,1;ENT((MAINTENANT()-D6)/365);(MAINTENANT()-D6)/365)

pour figé le temps de 2 à 2,1 (permet de mettre une alerte en G6

en G6 mettre celle-ci:

=SI(E6<2;A6;SI(E6-ENT(E6)>0;"changer grade";SI(ET(E6=3;A6=EQUIV(A6;{103;104;203;204;303;304;403;404;503;504};1));A6+1;A6)))

Je n'ai pas tout compris, dites nous si cela répond à la première partie de la question?

0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
21 mars 2018 à 11:59
Bonjour j'ai bien utilisé votre formule sauf qu' il faudra à chaque instant que l'alerte de changer le grade s'affiche, aller chercher le code grade qui correspond au nouveau code grade à actualiser. cette alerte devrait à mon avis s'afficher sur une autre colonne juste à coté du code grade actualisé. l'idéal serait d'avoir à chaque cellule de la colonne E, le code grade actualisé et afficher l'alerte sur la colonne F pour signifier le changement ou pas si le code grade initial en A est différent du nouveau code grade en E.
il y a aussi d' autres conditions non prises en compte. précision :
si le code grade A6=105, c'est la fin de la carrière, l'agent n'évolue plus, G6=A6
si la durée E6 =3 et que A6 =(133;233;333;433;533) alors G6=A6-12
si la durée E6=4 alors G6=A6-12
si A6=(205;305;405;505) la durée E6 est indéterminée
je ne sais pas si l'explication est claire à votre niveau, essayez de représenter tout ceci sur un tableau Excel vous verriez un peut plus clair merci pour vos propositions je reste à votre écoute
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
21 mars 2018 à 12:08
rectificatif lire la ligne :
l'idéal serait d'avoir à chaque cellule de la colonne G et non (E), le code grade actualisé et afficher l'alerte sur la colonne H au lieu de (F), pour signifier le changement on pose la formule si le code grade initial en A est différent du nouveau code grade en G et non (E).
merci de me comprendre.
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
21 mars 2018 à 13:46
Bonjour

Un exemple dans le fichier

https://www.cjoint.com/c/HCvmTuh0xNx
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
21 mars 2018 à 15:41
suis désolé votre formule n'obéit pas totalement à toute les conditions je vais vous donner le tableau des codes grade et indices de référence et les quelques exemples sur le tableau que je teste pour avoir une idée. retournez à votre tableau Excel et vous aurez toutes les données pour expérimenter votre formule.
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
21 mars 2018 à 15:54
Oui cela sera peut être plus facile à décoder car pour le moment on se perd dans toutes les informations et les modifications
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
22 mars 2018 à 10:04
Bonjour Anjf

https://cjoint.com/c/HCwjdnI1XYx

J'ai essayé de reprendre du début pour ne rien oublier
Tenez moi au courant de la suite.
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
26 mars 2018 à 13:42
Bonjour cher PHILOU10120 j'ai bien envoyé le fichier Excel (le tableau qui me permet de tester toutes les conditions pour ma formule et le tableau de référence des grades et leur condition d'avancement) mais je n'arrive pas à rentrer et trouver le tableau dans le lien que vous avez proposé. le lien https://cjoint.com/c/HCwjdnl1XYx ne me propose pas le classeur sur lequel nous avons échangé. prière de proposer certainement un autre lien ou le lien de la dernière fois afin de me permettre de visualiser le tableau et la formule proposée. merci de me venir en aide je souhaite vraiment trouver une solution à ce problème
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
26 mars 2018 à 14:09
Bonjour

Le lien à nouveau

https://cjoint.com/c/HCAmisnlw1x

dispo 4 jours donc il ne faut pas attendre trop longtemps
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
26 mars 2018 à 15:00
c'est le meme tableau que vous m'avez envoyé je vous est retourné le tableau avec des annotations et précisé que la formule proposée ne répondait pas aux attentes des conditions définies ainsi il n y a pas de grade 134 par exemple sur votre tableau si l'on change le grade 102 par 133 il donne 134 alors que le code 133 obéit à une condition si elle n'est pas respectée, le code actualisé prend la valeur initiale (il faut 133 avec pour durée 3 ans pour que le code actualisé prenne la valeur 133-12 donc 121 au lieu de 134 si la condition n'est pas respectée le code actualisé prend la valeur 133 tant que la durée n'est pas arrivée à 3)

je remet alors les données tel sur mon tableau avec toutes les infos à partir du tableau proposé sur le lien vous comprendrez certainement mieux merci
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
26 mars 2018 à 15:33
voici le lien sur lequel j'ai copié le tableau qui retrace toute la problématique (les différents codes grades, les durées entre les codes grades etc..; à vous alors de visionner le tableau et d'en proposer une formule qui prend tout en compte merci
https://cjoint.com/c/HCAnCn0uHig
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
26 mars 2018 à 16:22
Bonjour Anjf

Le fichier ne m'aide pas je ne comprends pas l'ordre de vos grades
Pourquoi de 133 on passe à 121 on monte ou on descend
Tout cela ne me parle pas
Donc je vais arrêter là.
0
anjf Messages postés 44 Date d'inscription lundi 12 mars 2018 Statut Membre Dernière intervention 24 mars 2020
26 mars 2018 à 17:18
justement c'est la complexité de ce tableau de référence les codes grade n'obéissent pas à un ordre particulier. pour ta question, on quitte de 133 à 121 car la condition c'est 3 ans pour basculer au code grade supérieur dont le résultat est l'ancien code (133-12) ce qui donne 121 si la durée n'a pas atteint 3, le code grade 133 ne change pas, il conserve sa même valeur. il en est de même pour 233; 333,433 et 533) c'est complexe mais c'est la problématique. désolé si le tableau que j'ai proposé ne vous permet pas de trouver une solution. Merci tout de même pour votre participation je vais donc présenté ce problème à d'autres sur ce site. je verrai si quelqu'un pourrait m'aider
0