XL pour MAC Recherche valeurs avec plusieurs conditions lignes et colonnes

  • Initiateur de la discussion Initiateur de la discussion clineM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

clineM

XLDnaute Junior
Bonjour, je cherche a extraire dans une nouvelle feuille les données de cellules remplissant 3 conditions.
Ma formule fonctionne pour la première ligne mais pas pour les suivantes. Il ya quelque chose qui m'échappe.
Et si je peux me permettre dans la ligne 1 de mon deuxième feuille je souhaite rajouter une condition à la formule.
Merci d'avance
 

Pièces jointes

C'est la formule classique d'une liste conditionnelle.
=SIERREUR(INDEX(data!$C$3:$T$3;PETITE.VALEUR(SI((data!$C$4:$T$4<>1)+(GAUCHE(data!$C$3:$T$3;4)="blet");COLONNE($C$4:$T$4)-2);COLONNES($A:A)));"")

sierreur() quand il n'y a plus rien a trouver.

(data!$C$4:$T$4<>1)+(GAUCHE(data!$C$3:$T$3;4)="blet")
Conditions de recherche
COLONNE($C$4:$T$4)-2) index de plage de recherche
On est dans une formule matricielle
la condition va donner une matrice genre {vrai;vraii;faux;vrai; etc...} en fonction des valeurs de la ligne 3 et de la ligne 4
COLONNE($C$4:$T$4)-2)
ça te donne aussi une matrice {3;4;5;etc..}-2==>{1;2;3;etc..}
tout ça avec la condition te donne aussi une matrice {faux;2;faux;faux;5; etc...)
donc, pour avoir la 1 ère valeur qui a été trouvée (2 dans mon exemple), je recherche la première petite valeur
Cette première petite valeur , c'est petite.valeur(matrice;rang)==>2
Donc la valeur cherchée est index(plage;2).
comme j'étire la colonne a droite, il faut que le rang change a chaque cellule.
C'est le rôle de colonnes($a:a) (tu remarques la place des $) qui devient colonnes($a:b) dans la cellule consécutive.
On tire jusqu’à épuisement, le sierreur donnant un "" quand il n'y a plus rien, (d'ou valeur!)
Voili,Voilou!
Si tu voulais la liste en colonne, on aurait utilisé ligne() et lignes(), a la place de colonne.
Potasse petite.valeur() dans l'aide, ligne() et colonnes()


Crdlmt
Bonjour, comment modifier le code si je ne veux que les noms d'échantillons pour lesquels dilution est différent de 1 ?
 
La c'est le cas !
data!$C$4:$T$4<>1

si tu voulais seulement ceux =2, tu aurais comme condition :
SI((data!$C$4:$T$4=2)+(GAUCHE(data!$C$3:$T$3;4)="blet");


Crdlmt
Bon je suis quiche mais je n'y arrive pas, j'ai passé mon aprem dessus j'avais bien commencé par supprimé juste +(GAUCHE(data!$C$3:$T$3;4)="blet") mais ça ne veut vraiment pas !!! je vais potasser les fonctions ... ça m'ennerve car avec mes moyens j'y arrive mais j'ai une colonne vide quand j'ai le blet que je ne veux pas au lieu d'avoir les données décalées qui commence par Bl1!!!!
 
C'est une formule matricielle, donc a valider par
Maj+Ctrl+Entrée (les 3 doigts en même temps) pour faire apparaitre les accolades.
Elle doit s'afficher automatiquement entre accolades dans la barre de formule, et être re-validée de la même façon à chaque fois qu'on y touche.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
166
Réponses
7
Affichages
116
Réponses
4
Affichages
163
Retour