XL 2016 Equiv/Index

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

Hasco

XLDnaute Barbatruc
Repose en paix
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
 

Dugenou

XLDnaute Barbatruc
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

  • BP 21 AIDE EXCEL.xlsx
    107 KB · Affichages: 15

Roselya

XLDnaute Nouveau
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

  • A traiter.xlsx
    14.7 KB · Affichages: 3
  • Fichier source.xlsx
    48.1 KB · Affichages: 4

Dugenou

XLDnaute Barbatruc
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

  • Roselya Fichier source.xlsx
    55.7 KB · Affichages: 6
  • Roselya A traiter.xlsx
    27.1 KB · Affichages: 5

Roselya

XLDnaute Nouveau
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
 

Graveling

XLDnaute Junior
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

  • Roselya A traiter.xlsx
    33 KB · Affichages: 6
  • Roselya Fichier source.xlsx
    55.4 KB · Affichages: 5

Roselya

XLDnaute Nouveau
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 ?
 

Graveling

XLDnaute Junior
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.
 

Discussions similaires

Statistiques des forums

Discussions
312 112
Messages
2 085 411
Membres
102 885
dernier inscrit
AISSOU