[Résolu] Recherche multi-criteres

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Phane
Membre OOrganisé
Membre OOrganisé
Messages : 99
Inscription : 09 juin 2014 18:13
Localisation : Foret de brocéliande

[Résolu] Recherche multi-criteres

Message par Phane »

Bonjour à tous,

Sujet sûrement facile pour certain, mais je n'ai jamais été à l'aise avec les formules INDEX, EQUIV et compagnie ...

Bref, je voudrais, à partir du tableau ci joint, obtenir en C22 le contenu de la cellule qui correspond à mes critères de choix définis en C17, c19 et C21 ( critères cumulatifs ).

La cascade de choix (!) est faite .

Petite précision, ce fichier n'est qu'un exemple fait pour l'illustration ( et pour la dépersonnalisation) mais je ne peux pas passer par un colonne intermédiaire ( d'ailleurs, je ne sais même pas si c'est nécessaire ). Au pire, je peux inclure un numéro en face de chaque ligne.

Merci d'avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Phane le 10 juil. 2019 19:52, modifié 1 fois.
@ home, Libre Office Version: 6.3.3.2 et Xubuntu 18.04.3 LTS/ W7
@ pro fixe, Libre Office 4.3.7.2 et W7 ( Obligation de version )
@ pro portable , Libre Office 5.2.6.2 et W10 ( Obligation de version )
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Recherche multi-criteres

Message par Jean-Louis Cadeillan »

Bonjour,
Si tu penses qu'avec une marque , une couleur et une année, tu n'auras qu'un seul véhicule, alors tu peux utiliser cette formule (en G23 dans le fichier joint) :

Code : Tout sélectionner

=INDEX(OBSERVATION;MAX(SI((MARQUE=$C$17)*(COULEUR=$C$19)*(ANNEE=$C$21);LIGNE(OBSERVATION);""))-4)
formule matricielle.
S'il y a plusieurs voitures qui correspondent à ces trois critères, utilise plutôt en liste de validité cette formule :

Code : Tout sélectionner

SI((MARQUE=$C$17)*(COULEUR=$C$19)*(ANNEE=$C$21);OBSERVATION;"")
Tu auras ainsi en liste déroulante (cellule C23 dans le fichier joint) toutes les observations pour les différentes voitures correspondantes.
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Recherche multi-criteres

Message par Jeff »

Bonjour à tous,
Jean-Louis Cadeillan a écrit :Si tu penses qu'avec une marque , une couleur et une année, tu n'auras qu'un seul véhicule
+ 1 :super:

D'autant que je doute du bien fondé de la conception du classeur-exemple, vu qu'une recherche sur l'année, qui est unique et triée, suffit dans le cas présent :mrgreen:

A +
Phane
Membre OOrganisé
Membre OOrganisé
Messages : 99
Inscription : 09 juin 2014 18:13
Localisation : Foret de brocéliande

Re: Recherche multi-criteres

Message par Phane »

@ Jean Louis

Top, vraiment un grand merci, c'est juste ce que je voulais. Décidément, les matrices ne sont à ma tasse de thé mais quand je vois ça, je me dis qu'il va falloir que je creuse.

@Jeff

En effet, l'exemple n'était surement pas le plus abouti. Mais dans la vraie vie j'ai bien une exclusivité d'enregistrement à chercher

Bonne soirée
@ home, Libre Office Version: 6.3.3.2 et Xubuntu 18.04.3 LTS/ W7
@ pro fixe, Libre Office 4.3.7.2 et W7 ( Obligation de version )
@ pro portable , Libre Office 5.2.6.2 et W10 ( Obligation de version )
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: [Résolu] Recherche multi-criteres

Message par Jeff »

Phane a écrit :j'ai bien une exclusivité d'enregistrement à chercher
Dans ce cas je propose également une variante, dans laquelle on concatène les critères ainsi que les matrices de recherches de la fonction EQUIV :

Code : Tout sélectionner

=INDEX(E5:E13;EQUIV(C17&C19&C21;B5:B13&C5:C13&D5:D13;0))
S'agissant là aussi d'une formule matricielle, validation par Ctrl + Maj + Entrée
Capture d’écran du 2019-07-11 13-40-14.png
A +
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.