XL 2016 Equiv/Index

  • Initiateur de la discussion Initiateur de la discussion Roselya
  • Date de début Date de début

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 !

Roselya

XLDnaute Nouveau
Bonjour,

je dois remplir la colonne BP 21 du fichier "suivi BP" à l'aide du fichier joint.
La recherche V ne fonctionne pas puisque 2 conditions doivent être remplies pour que la complétude soit la bonne.
C'est à dire que il faut que les colonnes "CODE OPERATION" et "CODE NATURE ANA" soient identiques en tous points pour compléter la colonne BP 21.

Il parait que la fonction equiv index pourrait m'aider à faire cela.
Quelqu'un peut il m'aider SVP.
Je vous en remercie par avance.
 
Dernière édition:
Solution
comme indiqué dans ma réponse au dessus : vous pouvez créer une colonne qui concatene les deux infos dans votre fichier source. Ensuite un index + equiv règle le probleme.
Il faudra que vous mettiez les deux fichiers dans le même répertoire
Cordialement
NB : certaines lignes semblent être absentes du fichier source : à vérifier
Bonjour et bienvenue sur le forum

Vos deux fichiers se ressemblent tellement, qu'on se pas trop ce que vous voulez remplir, où et par quoi ?
Pourquoi ne pas importer vos données par PowerQuery (Données/Obtenir des données/A partir d'un fichier/A partir d'un classeur) ? C'est quoi la colonne BP 21 ?

Soyez plus précise.

Cordialement
 
Bonjour,
Un essai en pj avec une colonne ajoutée dans votre feuille BD de données (afin d'éviter une formule matricielle.
J'ai placé les données dans le même classeur pour éviter les problèmes de liaisons. Vous pouvez travailler dans deux classeurs différents s'ils ne changent pas souvent de répertoire.
Cordialement
 

Pièces jointes

Re bonjour,
merci de vos réponses, en effet les fichiers que j'ai intégré sont les mêmes 😅
Je joins donc un fichier "source" et un fichier "à traiter".

Il s'agit donc d'emmener 1 info du "source" colonne BP 21 vers le "à traiter" colonne BP 21
La difficulté demeure en ce qu'il y a 2 colonnes de références CODE OPERATION" et "CODE NATURE ANA " qui doivent concorder que le résultat affiché soit juste.

J'espère que ce sera un peu plus clair.

Merci en tout cas de l'intéret porté à ma demande.
 

Pièces jointes

comme indiqué dans ma réponse au dessus : vous pouvez créer une colonne qui concatene les deux infos dans votre fichier source. Ensuite un index + equiv règle le probleme.
Il faudra que vous mettiez les deux fichiers dans le même répertoire
Cordialement
NB : certaines lignes semblent être absentes du fichier source : à vérifier
 

Pièces jointes

comme indiqué dans ma réponse au dessus : vous pouvez créer une colonne qui concatene les deux infos dans votre fichier source. Ensuite un index + equiv règle le probleme.
Il faudra que vous mettiez les deux fichiers dans le même répertoire
Cordialement
NB : certaines lignes semblent être absentes du fichier source : à vérifier
Merci beaucoup !
méhode très astucieuse qui règle mon problème.
Merci encore. Bon week end
 
Bonjour,

Une autre solution est d'utiliser la formule INDEX/EQUIV en matriciel
=SIERREUR(INDEX('[Roselya Fichier source.xlsx]BD'!$G$3:$G$592;EQUIV(1;('[Roselya Fichier source.xlsx]BD'!$C$3:$C$592=A2)*('[Roselya Fichier source.xlsx]BD'!$F$3:$F$592=J2);0));"Manque dans source")

(à valider avec CTRL+MAJ+ENTREE) puis faire glisser

Cela permet d'éviter d'ajouter une colonne dans la BDD pour concaténer.
 

Pièces jointes

Bonjour,

Une autre solution est d'utiliser la formule INDEX/EQUIV en matriciel
=SIERREUR(INDEX('[Roselya Fichier source.xlsx]BD'!$G$3:$G$592;EQUIV(1;('[Roselya Fichier source.xlsx]BD'!$C$3:$C$592=A2)*('[Roselya Fichier source.xlsx]BD'!$F$3:$F$592=J2);0));"Manque dans source")

(à valider avec CTRL+MAJ+ENTREE) puis faire glisser

Cela permet d'éviter d'ajouter une colonne dans la BDD pour concaténer.
Bonjour,

que veut dire formule en matriciel ?
 
Bonjour,

Pour faire simple, en matriciel, cela signifie que la formule va s'exécuter sur une matrice et non une simple cellule.
par exemple:
Dans la commande ('[Roselya Fichier source.xlsx]BD'!$C$3:$C$592=A2), on va vérifier la condition (=A2) sur les 489 cellules de la plage. dans la formule, la plage prendra alors les valeurs {FAUX;VRAI;...} si la condition est rempli.
On fait la même chose avec la commande ('[Roselya Fichier source.xlsx]BD'!$F$3:$F$592=J2).

Ensuite, lorsqu'on "multiplie" les deux, on fait un "ET" logique:
- VRAI*VRAI = 1
- VRAI*FAUX=FAUX*VRAI=FAUX*FAUX=0
Ainsi, on se retrouve avec une matrice de 489 valeurs valant 0 ou 1 {0;0;...;0;;1;0;...;0}. En trouvant la position de la valeur "1", on retrouve la position de ce que l'on cherche.

Ce type de formule ne fonctionne, il faut valider avec CTRL+MAJ+ENTREE, cela ajoute automatiquement des {...} avant et après la formule.
 
- 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
5
Affichages
564
Retour