recherche formule

lego35

XLDnaute Junior
Bonjour le forum,

Je recherche la formule permettant de récupérer d’une liste d’un autre classeur uniquement les bonnes informations.
A savoir dans mon exemple, liste des noms dont la couleur est ‘Noir ‘ en colonne B et chiffre supérieur à ‘6’ en colonne C
Exemple :
Autre classeur :
Colon. A-------Colon. B----Colon. C
A1 - Nom 1-----noir-----------7
A2 - Nom 2-----jaune--------10
A3 - Nom 1-----noir-----------5
A4 - Nom 2-----vert-----------8
A5 - Nom 5-----noir-----------8

Mon classeur : (résultat)
A1 - Nom 1 (ligne A1 – de l’autre classeur)
A2 - Nom 5 (ligne A5 – de l’autre classeur)

Merci pour l'aide
Lego
 

Modeste

XLDnaute Barbatruc
Bonsoir lego35,

La demande rencontre visiblement un enthousiasme assez modéré :rolleyes:
Tu n'envisages pas, à un moment donné, de fournir un petit fichier à titre de support? Parce que, comment pourrions-nous t'expliquer les idées de solutions?
Joins-nous donc (si tu es toujours à la recherche de pistes) un fichier en simulant tes fichiers différents dans les deux onglets de ce même classeur et commençons avec ça.
 

lego35

XLDnaute Junior
Bonjour le Forum, bonjour Modeste et bonjour la Belgique.


Je désespérais d’une réponse ….


A ta demande Modeste, et je t’en remercie, j’adresse donc 2 classeurs en souhaitant alors que cela soit plus compréhensif que mon post initial.


Merci de votre aide.


Lego
 

Pièces jointes

  • Autre classeur.xlsx
    16.4 KB · Affichages: 59
  • Mon classeur.xlsx
    10.1 KB · Affichages: 45

Dugenou

XLDnaute Barbatruc
Bonjour,
une possibilité avec des formules matricielles. Comme on travaille avec deux classeurs différents : il faut le faire sur ton poste pour éviter d'avoir 2 lignes pour le chemin complet du fichier. Ces formule sont faites avec les deux fichiers ouverts. Si tu ferme le "autre fichier" : le chemin complet s'affichera dans la formule.

FORMULES MATRICIELLES A VALIDER PAR CTRL+MAJ+ENTER puis recopier vers le bas

en colonne A :
Code:
=SIERREUR(INDEX('[Autre classeur.xlsx]Abs'!$A$1:$A$17;PETITE.VALEUR(SI(('[Autre classeur.xlsx]Abs'!$I$2:$I$17="Mal. Ordinaire")*('[Autre classeur.xlsx]Abs'!$L$2:$L$17>7);LIGNE('[Autre classeur.xlsx]Abs'!$I$2:$I$17));LIGNES($1:1)));"")
en colonne B :
Code:
=SIERREUR(INDEX('[Autre classeur.xlsx]Abs'!$D$1:$D$17;PETITE.VALEUR(SI(('[Autre classeur.xlsx]Abs'!$I$2:$I$17="Mal. Ordinaire")*('[Autre classeur.xlsx]Abs'!$L$2:$L$17>7);LIGNE('[Autre classeur.xlsx]Abs'!$I$2:$I$17));LIGNES($1:1)));"")
en colonne C :
Code:
=SIERREUR(INDEX('[Autre classeur.xlsx]Abs'!$J$1:$J$17;PETITE.VALEUR(SI(('[Autre classeur.xlsx]Abs'!$I$2:$I$17="Mal. Ordinaire")*('[Autre classeur.xlsx]Abs'!$L$2:$L$17>7);LIGNE('[Autre classeur.xlsx]Abs'!$I$2:$I$17));LIGNES($1:1)));"")

=SIERREUR(INDEX('[Autre classeur.xlsx]Abs'!$A$1:$A$17;PETITE.VALEUR(SI(('[Autre classeur.xlsx]Abs'!$I$2:$I$17="Mal. Ordinaire")*('[Autre classeur.xlsx]Abs'!$L$2:$L$17>7);LIGNE('[Autre classeur.xlsx]Abs'!$I$2:$I$17));LIGNES($1:1)));"")

En vert la zone d'index : les valeurs à retourner : commence toujours en ligne 1, change pour chaque colonne

En rouge la ou les conditions avec un * pour plusieurs conditions qui doivent toutes être remplies, ne change pas quand on change de ligne ou de colonne

En bleu les valeurs retournées si les conditions sont respectées (sinon la valeur retournées est FAUX car on n'a rien précisié dans le Si pour la valeur si faux

En violet la fonction petite.valeur(matrice;k) où le K passe de 1 à 2 etc quand on recopie vers le bas : les valeurs numériques sont retournées en premier en ordre croissant, puis les FAUX

et un sierreur pour ne pas afficher de résultat quand on arrive aux "faux"

Cordialement
 

Discussions similaires

Réponses
5
Affichages
266

Statistiques des forums

Discussions
312 499
Messages
2 089 002
Membres
104 002
dernier inscrit
SkrauzTTV