Recherchev avec 3 conditions

Résolu/Fermé
beneclik Messages postés 13 Date d'inscription jeudi 18 juillet 2013 Statut Membre Dernière intervention 16 janvier 2024 - 18 juil. 2013 à 19:44
beneclik Messages postés 13 Date d'inscription jeudi 18 juillet 2013 Statut Membre Dernière intervention 16 janvier 2024 - 20 juil. 2013 à 14:35
Bonjour
je tente pour la première fois une demande sur ce site.

Voila mon problème,
j'ai sur une feuille excel appelée "oscarr 01" un tableau de 4 colonnes, je souhaite récupérer sur une autre feuille appelée "test" du même classeur la donnée se trouvant dans la 4ème colonne à condition que le système retrouve les données des 3 autres colonnes dans différentes cases de ma feuille test.

j'ai essayé avec plusieurs formules sommeprod et la combinaison sommeprod+indirect mais cela ne fonctionne pas.

Auriez vous une solution ?

je vous mets un exemple du tableau.

https://www.cjoint.com/?0GstMeeWRJN

Je voudrais dans la mesure du possible éviter une macro car je n'y comprend pas grand chose

beneclik
A voir également:

5 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
18 juil. 2013 à 21:16
Bonsoir,

Autre possibilité avec SOMMEPROD

commence par nommer tes plages pour des simplicités de formule
exemple la plage B4:B21 de la feuille oscarr 01 nommée col_B
la plage C4:C21 nommée col_C, la plage D4:D2 nommée col_D de même pour la plage E4:E21 nommée col_E

ce qui donne comme formule

=SOMMEPROD((col_B=$B$4)*(col_C=B10)*(col_D=$B$6)*(col_E))
à incrémenter vers le bas

si on compare la formule sans plage nommée cela donnerait

=SOMMEPROD(('oscarr 01'!$B$4:$B$21=$B$4)*('oscarr 01'!$C$4:$C$21=B10)*('oscarr 01'!$D$4:$D$21=$B$6)*('oscarr 01'!$E$4:$E$21))

on voit tout de suite l'intérêt de nommer les plages, je regarde si on ne peut pas encore simplifier
2
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
18 juil. 2013 à 21:53
Un peu plus court en formule matricielle qu'il faudra confirmer en cliquant en même temps sur les trois touches du clavier Ctrl, Shift (qui est la touche majuscule) et Entrée
si tu fais bien la formule se placera entre { }

=INDEX(col_E;PETITE.VALEUR(SI((col_B=$B$4)*(col_C=B10)*(col_D=$B$6)=1;LIGNE(col_E)-MIN(LIGNE(col_E))+1);1))
0