Microsoft 365 Correspondance entre plusieurs colonnes avec des contraintes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Blick

XLDnaute Nouveau
Bonjour,

J'aurais besoin d'aide pour un calcul avec un peu de gymnastique mentale, ainsi je ne sais pas comment m'y prendre pour retranscrire ça sur Excel.

Le but de mon calcul est d'afficher un 0 dans la colonne appelé numéro de début si dans la colonne numéro machine, le numéro de la machine n'est jamais apparu au dessus sinon mettre un 1.

Le problème est que si dans la colonne numéro de commande, un numéro de commande a déjà été noté, il faut aussi mettre un 1 dans la colonne numéro de début.

Ainsi si un numéro de commande utilise plusieurs machines, il est possible qu'une machine ne soit jamais mise à 0.

Merci pour votre aide
 

Pièces jointes

Solution
La subtilité m'avait échappée. 🙂
et c'est plus complexe.
Un nouvel essai en PJ avec en B6 :
VB:
=SI(OU(ET(ET(NB.SI(C$5:C5;C6)>0;NB.SI($D$4:D6;D5)<=1);NON(ET(NB.SI(C$5:C5;C6)=0;NB.SI($D$4:D6;D5)>=2)));ET(NON(ET(NB.SI(C$5:C5;C6)>0;NB.SI($D$4:D6;D5)<=1));ET(NB.SI(C$5:C5;C6)=0;NB.SI($D$4:D6;D5)>=2)))=VRAI;1;0)
J'ai laissé les formules de "réflexion" en dessous pour comprendre le cheminement.
Bonjour Blick,
Pas tout compris.
Dans votre fichier, si on doit mettre 0 si la machine n'est pas présente avant, alors je suis d'accord avec le 0 dans B20 mais pas dans B23 puisque c'est la première fois que la machine N°3 est apparue, il devrait donc il y avoir 0 en B23 et 1 en B24.
Un essai en PJ avec en B6 :
VB:
=SI(NB.SI($C$5:C5;Tableau2[[#Cette ligne];[Numéro Machine ]])=0;0;1)
qui donne 0 en B9 mais 1 en B10 puisque la machine N°3 est déjà apparue.
 

Pièces jointes

Merci pour votre réponse enfaite le but de la formule est de mettre toutes les premières apparitions de machines à 0 sauf si le numéro de commande est déjà apparu.

C'est pour ça que B23 doit comporter un 1 car il y a déjà une commande 7 au dessus (la commande prend la priorité sur la machine) et de ce fait en B24 même si la machine est déjà apparue, elle n'aura jamais été mise à 0 c'est pour ça qu'il faudrait la mettre à 0.

C'est là qu'est la difficulté, la finalité de la formule est dans un planning de trouver pour chaque machine qu'elle commande va démarrer en premier car si la commande 7 démarre déjà sur la machine 2, elle ne peut pas démarrer en même temps sur la machine 3.

En espérant avoir réussi à me faire comprendre.
 
La subtilité m'avait échappée. 🙂
et c'est plus complexe.
Un nouvel essai en PJ avec en B6 :
VB:
=SI(OU(ET(ET(NB.SI(C$5:C5;C6)>0;NB.SI($D$4:D6;D5)<=1);NON(ET(NB.SI(C$5:C5;C6)=0;NB.SI($D$4:D6;D5)>=2)));ET(NON(ET(NB.SI(C$5:C5;C6)>0;NB.SI($D$4:D6;D5)<=1));ET(NB.SI(C$5:C5;C6)=0;NB.SI($D$4:D6;D5)>=2)))=VRAI;1;0)
J'ai laissé les formules de "réflexion" en dessous pour comprendre le cheminement.
 

Pièces jointes

Merci pour votre réponse c'est ce que j'attendais mais j'espérais que la formule puisse fonctionner même si les numéros sont en désordre ou si on en rajoute, en effet le tableau dans lequel j'aimerais adapter cette formule contient environ 40 numéros machines et une centaine de numéros commande et le plus souvent dans le désordre.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
20
Affichages
828
Réponses
8
Affichages
692
Retour