Remplissage colonne avec plusieurs conditions

Bonjour,
Svp j’ai le problème suivant que je n’arrive pas à résoudre depuis plusieurs jours et je sollicite votre aide.
J’ai un fichier Excel avec les colonnes suivantes: EP, Code, Phase, Technology, New Tech

  • Je voudrais remplir la colonne New Tech de la manière suivante:
    Partout où je trouverai « - » dans la colonne Technology lorsque la Phase vaut A, je cherche le Code de la même ligne dans EP. Si je trouve la correspondance dans EP, je récupère le CB de la ligne où il ya eu correspondance (La correspondance est obligatoirement dans la phase B). Il y 'aura plusieurs lignes avec ces critères d’où le deuxième condition suivante ci dessous…

Par la suite, je retourne la valeur de la ligne a la cellule de la colonne Technology où le CB est identique à celui de la phase A de la ligne qu’on cherche à compléter (car si on n’ajoute pas la condition sur le CB il y aura plusieurs possibilités mais avec les deux conditions, on a qu’une seule possibilité.) dans la colonne New Tech. Et si la cellule n’est pas vide, ca ne change rien (Donc ça revoie la même valeur de la cellule)

Par exemple, dans la cellule F1, je veux que ça me retourne hec puisque ça rempli toutes les conditions avec les cellules que coloriées identiquement. Et même si cette valeur est modifiée dans la phase B, ca change automatiquement dans la phase A.

J’ai essayé plusieurs trucs qui ne marchent pas jusqu’ici. Voici mes différents codes:

=SI(D2 = « - »; SI(NON(ESTNA(RECHERCHEV(B2, A:A, 1, FAUX))), INDEX(D:D, EQUIV(B2, A :A, 0)), « Non trouvé ») ; D2)

Autres essais ci-dessous avec les données interdites d’exporter de l’entreprise. J’ai juste reproduit un fichier Excel similaire. C’est juste pour que vous ayez une idée des fonctions que j’ai utilisées.
=SI.CONDITIONS((C2=« A »)*(B2=« Phase 1 »); INDEX($C$2:$C$5; EQUIV(A2 & « ITO »; $B$2:$B$5 & $C$2:$C$5; 0)); VRAI; C2)

=SI(ET(C2=« A », B2=« OTR »), INDEX($C$2:$C$100, EQUIV($A2, $A$2:$A$100, 0)), C2)

=SI(ET(B2=« OTR », C2=« A »), INDEX($C$2:$C$5, EQUIV(101, $A$2:$A$5, 0)), SI(B2=« ITO », INDEX($C$2:$C$5, EQUIV(101, $A$2:$A$5, 0)), C2))

=SI(ET(OU(A2=$A$2, B2=$B$2), B2=« Phase 2 »), INDEX($C$2:$C$5, EQUIV(101, $A$2:$A$5, 0)), C2)

Fichier 1.xlsx (10,0 Ko)

1 « J'aime »

Bonjour,
Je ne sais pas si j’ai bien compris,
Voici une suggestion a mettre sur F2 :

=SIERREUR(SI(ET(D2="-";C2="A";INDEX($A$2:$D$31;EQUIV(B2;$A$2:$A$31;0);3)="B");INDEX($A$2:$D$31;EQUIV(B2;$A$2:$A$31;0);4);"Non trouvé");"Non trouvé")

Cordialement

Bonjour,
Ça marche exactement comme je voulais avec le fichier que je vous ai fourni. Je vous remercie énormément.

Je vais essayer avec le fichier réel mercredi et ajuster les formules.

Mais je ne comprends pas bien les arguments 3 et 4 que vous avez ajouté à l’intérieur des fonctions INDEX. En passant, je ne suis pas un expert en Excel car je l’ai récemment appris dans le cadre de mon stage

merci encore.

1 « J'aime »

Re,

Ici 3 veux dire, sur la troisième colonne (là où on cherche B) et 4, sur la quatrième Colonne ( Le Tech a renvoyé en résultat).
Cordialement

Bonjour,

D’accord super merci.

En fait je viens de dérouler la formuler ca ne marche pas partout sur la colonne. j’éclairci avec les détails suite aux nouveaux résultats.

  1. La cellule F3 doit renvoyer tati mais ca renvoie aku. le CB correspondant a la ligne F3 est 1101 et son CODE 10000001 qui est retouvé dans la colonne A3 fois: A16, A30, A32 mais seul A32 a le meme CB qui est 1101 donc ca doit renvoyer tati mais ca renvoie le CB 11 qui a pour Technology aku

  2. A partir de la ligne 15 ou on a toutes les technology en (Lorsque la technology est presente) colonne D la valeur est conservée ou alors ça renvoie la meme valeur. Exemple: D9; D15:D32 la colonne F renvoie toujours non trouvé.

J’espère que j’ai bien expliqué. j’ai essayé de mon coté mais ca ne marche pas. Je sais qu’il faut changer juste quelque chose mais je n’y arrive pas.

Merci de votre retour

Essai cellule F3 (Bleue)
Fichier joint ci dessous

Fichier 1.xlsx (10,7 Ko)

Fichier 1.xlsx (10,7 Ko)

1 « J'aime »

Bonjour,
Ah je vois, j’ai pas pris en compte la colonne CB.
Vous avec quelle version d’Excel ?
Car avec une version récente 365, vous pouvez mettre ceci :

=SI(C2="A";FILTRE($D$2:$D$32;($A$2:$A$32=B2)*($C$2:$C$32="B")*($E$2:$E$32=E2);"Non trouvé");"Non trouvé")

Bonjour,
Tout d’abord merci une fois de plus de vous soucier de mon problème. J’utilise la version microsoft 365 MSO (Version 2302 build 16.0.16) 64 bits.

Je vais tester avec le nouveau code que vous avez envoyé.

J’ai testé le code il a été amélioré mais j’ai ajouté une condition qui ne marche pas. D5 et D9 normalement devrait renvoyer az et aku respectivement puis qu’elles ne contiennent pas le tiret ‘-‘.

Voici ce que j’ai essayé

=SI( D2 = « - » ;
ta fonction précédente` ; D2)

Donc si ca ne trouve pas « - », ca maintient ce qui est présent actuellement dans la cellule c’est pourquoi je renvoie D2 mais ca me retourne #NAME

1 « J'aime »

hello
essaie ça

=SI(ET(D2="-";C2="A");FILTRE($D$2:$D$32;($A$2:$A$32=B2)*($C$2:$C$32="B")*($E$2:$E$32=E2);"-");D2)

Hello,

Merci pour votre retour.
Pourquoi avoir ajouter ça « - » dans la fonction FILTRE lorsque ca retoruve pas svp? c’est ce que ca retourne partout lorsque les conditions ne sont pas remplies? ou alors il ya un detail qui m’echappe. Selon moi c’est D2 qui devait y etre.

Merci

La cellule affichera le tiret si une des conditions du filtre n’est pas remplie, ce qui est l’équivalent de ton tiret en D, Will lui avait écrit « Non trouvé » mais tu peux écrire ce que tu veux entre les guillemets et la valeur de la cellule en colonne D s’affichera si les conditions sont remplies, mais tu peux aussi mettre

=SI(ET(D2="-";C2="A");FILTRE($D$2:$D$32;($A$2:$A$32=B2)*($C$2:$C$32="B")*($E$2:$E$32=E2);D2);D2)

Exactement ça marche. Le problème est complètement résolu. Un grand merci à vous deux

1 « J'aime »

Bonjour à vous,

Je suis tombé sur une colonne où je devais faire le même travail et du coup j’ai la situation suivante : toutes les cellules avec les tirets, les zéros ou les vides sont considérées comme données manquantes. Je voulais éviter d’encombrer la cellule avec les ces conditions en plus j’ai donc décidé de procéder en deux étapes :

1 les transformer tous les trois en tirets

2 Puis appliquer la formule initiale. (C’est vrai qu’on m’a demandé d’éviter d’ajouter les colonne).

=SI(OU(ET(D2 = « - »;D2 = 0; D2 = «  »); C2=« A »);« - »; D2)

=SI(ET(C2=« A » ; OU(D2 = « - » ;D2 = 0 ; D2 = « - »)) ; D2)

435 zéros

3225 tirets

373 vides

Ça fait en tout 4033 mais après avoir appliqué mes fonctions ci-dessus je me retrouve avec plus de 10.000 tirets au lieu de 4033 tirets.

Puis-je avoir votre aide svp ?

Merci d’avance

Petite Erreur sur l’une des fonctions. Je voulais ecrire:

=SI(ET(C2=« A » ; OU(D2 = « - » ;D2 = 0 ; D2 = «  »)) ; « - » ; D2)

Mais ça me retourne toujours les vides dans la phase A je ne sais pas quoi.

Merci

Déjà qu’au départ, ce n’était pas trop clair dans mon esprit, la sans savoir quelle colonne et/ou sans fichier…

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.