SI(ET(avec des conditions similaires

Bonjour à tous,

J'espère que vous allez bien.

Vous trouverez ci-joint un fichier exemple avec une formule qui ne fonctionne pas, certainement à cause de contradictions dans mes arguments.

Je ne comprends pas vraiment pourquoi puisqu'Excel est censé aller chercher le test suivant si le précédent n'est pas validé.

Bref, voici ce que je voudrais avoir :

-lorsque dans la colonne "Plan", ce n'est pas "LD" ou "Bonus", rien ne doit apparaître

-lorsque que dans la colonne "Job" il y a "ABC", il faut aller chercher le % pour ABC en fonction du Niveau (et ce peu importe la date)

-lorsque la date est inférieure à 2024, rien ne doit apparaître, si ce n'est pour les jobs "ABC" (comme cité précédemment)

-lorsque la date correspond à 2024 et qu'il y a "LD" ou "Bonus" dans la colonne "Plan" et "66" dans la colonne "Code", ramener, en fonction du niveau, le % de la colonne "66" des paramètres (à noter que LD n'existe que pour le code "66")

-lorsque la date correspond à 2024 et qu'il y a "Bonus" dans la colonne "Plan" et qu'il y a un autre code que "66" dans la colonne "Code", ramener, en fonction du niveau, le % de la colonne "Classique" des paramètres

J'espère avoir été clair, je vous remercie énormément pour votre aide !!!!!!

Bonne journée :)

3exemple.xlsx (12.37 Ko)

Bonjour,

Quel méli-mélo…

Comme bien souvent dans ce genre de cas, le véritable problème ce n'est pas tant la complexité de la formule, mais la définition des conditions qui laisse à désirer. En effet vous n'etes pas assez rigoureux et vos conditions se superposent.

Il faut, absolument, définir des priorités. Je ne vois pas d'ordre dans vos conditions, c'est donné un peu dans le désordre et je suis certain que cela complique bien inutilement vos formules…

En suivant l'ordre de priorités ci-dessous, voici une proposition :

  1. Recherche de ABC dans Jobs
  2. Si date ≥2024
  • code = 66 + bonus/LD dans plan : % colonne "66"
  • code <> 66 + bonus, : % colonne "66"

3. Sinon rien

Je pense que la formule peut etre allégée avec O365 cependant, avec les filtres peut etre.

=SI(NON(ESTERREUR(CHERCHE("ABC";[@Job])));RECHERCHEV([@Niveau];Tableau1;4);
SI(ANNEE([@Date])>=2024;
SI([@Code]=66;
SI(OU([@Plan]="Bonus";[@Plan]="LD");RECHERCHEV([@Code];Tableau1;3);"");
SI([@Plan]="Bonus";RECHERCHEV([@Niveau];Tableau1;2);"")
);""))

Bonjour,

Merci pour la clarification. En revanche, cela ne fonctionne pas correctement pour le code 66 puisque, par exemple, en ligne 5, cela m'affiche 25% avec votre proposition. Savez-vous pourquoi ?

Je vous remercie une fois de plus.

Oui petite coquille, il faut remplacer le recherchev.

=SI(NON(ESTERREUR(CHERCHE("ABC";[@Job])));RECHERCHEV([@Niveau];Tableau1;4);
SI(ANNEE([@Date])>=2024;
SI([@Code]=66;
SI(OU([@Plan]="Bonus";[@Plan]="LD");RECHERCHEV([@Niveau];Tableau1;3);"");
SI([@Plan]="Bonus";RECHERCHEV([@Niveau];Tableau1;2);"")
);""))

Ah oui pardon, j'aurais pu le voir.

Merci encore et désolé si ce n'était pas très clair.

Bonne fin de journée !

Rechercher des sujets similaires à "conditions similaires"