Microsoft 365 Fonction filtre avec si

Pulpito

XLDnaute Nouveau
Bonjour,
J'ai un tableau où je souhaite faire des filtres selon plusieurs colonnes selon 1 ou plusieurs critères (dans l'exemple joint 5 colonnes critères mais dans mon tableau d'origine, j'ai 14 colonnes critères) .
Je souhaiterais 3 critères de filtre.
Dans le tableau d'origine, j'ai testé plusieurs formules mais aucune ne fonctionne correctement.
L'idée étant de récupérer des informations de deux colonnes de mon tableau en fonction des critères sachant que je ne peux pas avoir les critères dans la même colonne.
Je souhaiterais également filtrer si 1 critère, 2 critères ou 3 critères indépendemment de leur ubication (critère 1, 2 ou 3) et encore je pourrais passer sur cela en partant du principe, que si 1 seul critère on l'indique dans la zone 1, et le deuxième dans la zone 2, etc.
La formule dans le tableau joint ne fonctionne pas correctement et après avoir fait de nombreux tests dans mon tableau d'origine, je suis dans une impasse!
Peut-être faudrait-il passer par une macro?
Merci d'avance de votre aide.
 

Pièces jointes

  • Test Filtre et si.xlsx
    12.1 KB · Affichages: 16

Staple1600

XLDnaute Barbatruc
Bonjour @mapomme

@mapomme
Déjà que j'essaie de limiter l'apport de VBA dans mon corps cérébelleux au profit de PQ
Si en plus, je dois limiter l'apport de produits carnés dans mon corps tout court, ce serait pas tenable.
;)

D'ailleurs au sujet de PQ, ca ne tente pas ?
Tu préfères toujours la voie "formulo365-vbaistique" ?
;)
 

Staple1600

XLDnaute Barbatruc
Re

Pour revenir à la formule LET d'@Efgé
Donc sans passer par la référence à une cellule
Code:
=PRENDRE(LET(
   Data;Tableau13;
   PlgCriteres;J4:J6;
   NbCriteres;NBVAL(PlgCriteres);
   Valid;MAP(Data;LAMBDA(X;NB.SI(PlgCriteres;X)));
   Bool;BYROW(Valid;LAMBDA(Y;SOMME(Y)=NbCriteres));
SI(NbCriteres=0;"";FILTRE(Data;Bool;""))
);;-1)
un hommage à Yves D.
https://www.youtube.com/watch?v=nuaNqlFdFSs
Excel n'existait pas mais on avait Pong
;)
 

Efgé

XLDnaute Barbatruc
Re
@mapomme
J'ai donné le lien dans le "source"

La source : https://www.larousse.fr/dictionnaires/francais/localiser/47592#:~:text=1.,Localiser un bruit.


@Staple1600
Oui, c'est une possibilité qui remplace le CHOISIRCOLS par un PRENDRE.
Cordialement
 

Staple1600

XLDnaute Barbatruc
@Efgé
Ton navigateur t'a induit en erreur (tout comme le mien)
Tu fais clic-droit et Rechercher "ubication" sur le web
et tu tombes sur "localisation"
Me trompe-je ?

Oi=oui , je suppose ;)

PS: Je pense plutôt pour imbrication, non ? ( à cause de SI)

@mapomme
Ce serait donc un mot espagnol ?
 
Dernière édition:

djidji59430

XLDnaute Barbatruc
Re
Vu que ma colonne auxiliaire avait l'air de déplaire, je l'ai refait avec une formule.
=FILTRE(Data[[Lettre]:[Info à récup]];MAKEARRAY(lignes(Data);1;LAMBDA(r;c;SOMME(NB.SI(Tableau1;INDIRECT("A"&3+r&":g"&3+r)))))=NBVAL(Tableau1))
 

Pièces jointes

  • Test Filtre et si.xlsx
    16.1 KB · Affichages: 3
Dernière édition:

Efgé

XLDnaute Barbatruc
Bonjour à toutes et tous
En reprenant la bonne idée de @djidji59430 (SOMME(NB.SI... ) et le PRENDRE de @Staple1600 , je réduit ma proposition:
VB:
=LET(
   Bool;BYROW(Tableau13;LAMBDA(X;SOMME(NB.SI(J4:J6;X))=NBVAL(J4:J6)));
SI(NBVAL(J4:J6)=0;"";FILTRE(PRENDRE(Tableau13;;-1);Bool;""))
)
Cordialement
 

Pièces jointes

  • Test Filtre et si (3).xlsx
    13 KB · Affichages: 2
Dernière édition:

Pulpito

XLDnaute Nouveau
@Efgé
Ton navigateur t'a induit en erreur (tout comme le mien)
Tu fais clic-droit et Rechercher "ubication" sur le web
et tu tombes sur "localisation"
Me trompe-je ?

Oi=oui , je suppose ;)

PS: Je pense plutôt pour imbrication, non ? ( à cause de SI)

@mapomme
Ce serait donc un mot espagnol ?
Oui en effet, mea culpa, c'est un mot espagnol. J'ai vécu 20 ans en Espagne. Ceci explique cela!
 

Discussions similaires

Statistiques des forums

Discussions
314 708
Messages
2 112 097
Membres
111 416
dernier inscrit
philipperoy83