Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 NB.SI - critères multiples

raspy

XLDnaute Nouveau
Bonjour,

Ma problématique de départ est de réaliser une recherche V avec des critères multiples, par exemple j'ai cette plage de donnée (colonne 1 ; colonne 2) :
fleur ; tulipe
fruit ; banane
légume; choux
fruit ; raisin
légume; carotte
fleur ; rose

Je ne souhaite pas passer par du VBA

Je voudrais écrire une fonction qui me renvoie la liste des différents éléments de la colonne 2 validant le critère de la colonne 1 que j'ai choisi.

En cherchant de l'aide sur ce forum, j'ai trouvé plusieurs pistes, cependant en y travaillant, je suis tombé sur un os.
Le nœud de mon problème est que les fonctions du type NB.SI / SOMME.SI ne me permettent pas d'utiliser des plages de données en tant que critère.
Par exemple, si je tape NB.SI(colonne2; ref), et que ma plage de test contient "tulipe" et "rose", je souhaiterais avoir 2. La plage de critère "ref" contenant uniquement rose et tulipe.

Or je me suis rendu compte que seul le premier élément est utilisé comme critère lorsque j'utilise une plage de données. Ce qui est contraire aux exemples que j'ai trouvé, j'ai bien fait attention à utilisé la validation matricielle.

(exemple de réponse approchante ) https://www.excel-downloads.com/threads/fonction-recherchev-et-homonynes.78105/


Est ce que cela est une erreur de compréhension de ma part ? Ou est ce lié à une version d'Excel qui a changé le fonctionnement de ces fonctions (auquel cas pas la peine d'insister) ?

Merci par avance.
 

kan3pz

XLDnaute Occasionnel
Bonsoir raspy & jocelyn,
je me joins au commentaire de jocelyn, voici un premier test avec ce que j'ai compris de ta problématique.
A dispo pour modifier si cela ne correspond pas à tes attentes.
 

Pièces jointes

  • Recherche multiple selon critères.xlsx
    9.7 KB · Affichages: 29

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Une autre formule (matricielle) en H2 :
Code:
=SIERREUR(INDEX(B:B;PETITE.VALEUR(SIERREUR(EQUIV($A$2:$A$7;$E$2;0)*LIGNE($A$2:$A$7);"");LIGNES($1:1)));"")
 

Pièces jointes

  • raspy- Recherche multiple selon critères- v1.xlsx
    10.6 KB · Affichages: 26

raspy

XLDnaute Nouveau
Bonjour à tous,



@ Jocelyn : Je n'ai pas eu l'occasion de t'envoyer un fichier Excel de démonstration et j'ai été devancé... je vais tacher de prendre de meilleurs habitudes, merci pour ta réponse

@kan3pz et Mapomme : merci pour vos propositions, je vais regarder cela au plus vite. Vos propositions sont d'ailleurs plus "simples" que celle que j'avais déjà trouvée sur le sujet, je suis d’autant plus confiant pour m'approprier ces solutions.

D'ailleurs, petite question annexe, entre une fonction Excel normale et matricielle, il y a une grosse différence en terme de ressources utilisées pour le calcul ?

Je vous tiendrais informé de mon avancé sur ce besoin, encore merci.
 
Dernière édition:

kan3pz

XLDnaute Occasionnel
Bonjour raspy,
effectivement les formules matricielles demandent généralement plus de ressources. si la base de donnée à analyser est trop grosse il te faudra peut être passer par du vba.
Sinon penser à utiliser les TCD qui restent des outils très puissants
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…