Excel - Formule - remonter valeurs selon plusieurs critères

Résolu
hsav Messages postés 36 Statut Membre -  
bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai retourné le pb dans tous les sens et mon cerveau frise.

Seriez-vous svp en mesure de m'aider à résoudre le pb suivant ?

Je n'ai pas trouvé comment ajouter une pièce jointe, alors je fais des copies d'écran de mon fichier exemple :

Feuil1

Feuil2

Je cherche une formule à saisir en Feuil1!B3 puis à étendre ensuite vers la droite et le bas, qui permette de remonter, en fonction des informations de la feuille 2 le ou les fruits de la semaine concernée pour la couleur concernée.

J'ai essayé de simplifier ma problématique au maximum, mais n'hésitez pas à me dire si je ne suis pas claire.

Ce que j'ai déjà essayé :

- passer par un somme prod -> KO parce que ce sont des valeurs texte

- recherchev / recherchex / index / equiv --> KO, je ne remonte toujours que la première ligne pour chaque couleur et pas la première ligne dans laquelle il y a une valeur, et encore moins une concaténation de valeurs

- SI() -> KO mon fichier est bien plus grand et je ne peux pas imbriquer plus de 34 SI

Merci d'avance !

A voir également:

2 réponses

Résumé de la discussion

Le besoin est d’extraire les fruits correspondant à la couleur indiquée en Feuil1 et situés dans la semaine concernée à partir des données de Feuil2, puis de les afficher dynamiquement dans Feuil1 et de les étendre vers la droite et le bas. Une solution fonctionnelle sous Office 365 s’appuie sur LET, FILTRE et JOINDRE.TEXTE; par exemple en Feuil1!B4: =LET(d;Feuil2!$B$4:$K$4;u;UNIQUE(DANSCOL(SI(((d>=B$3)*(d<B$3+7)*(Feuil2!$A$5:$A$11=$A4))>0;Feuil2!$B$5:$K$11;0)));JOINDRE.TEXTE(", ";VRAI;FILTRE(u;(u<>0)*(u<>"fraise")))).
Une variante plus concise consiste à filtrer directement les données et à les concaténer, par : =LET(c;FILTRE(Feuil2!$B$5:$K$11;Feuil2!$B$4:$K$4=B$3);JOINDRE.TEXTE(", ";VRAI;FILTRE(c;(Feuil2!$A$5:$A$11=$A4)*(c<>0);""))) avec possibilité d’exclure certains termes.
Des échanges ultérieurs ont noté que le critère de date doit être adapté pour une consolidation par semaine plutôt que par date exacte, et que des NA peuvent apparaître selon la taille du fichier ou la version d’Excel (Office 365).

Généré automatiquement par IA
sur la base des meilleures réponses
bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91
 

Hello,

Quelle est ta version Excel ?

Poste ton fichier sur cjoint.com et donne ici le lien créé

0
hsav Messages postés 36 Statut Membre
 

Bonjour bigoudiii

Je suis sur office365

Voici le lien cjoint : https://www.cjoint.com/c/MIpmpUwFS4J

0
bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91
 

Re,

Pour le 8 juillet - bleu, tu as deux réponses possibles, poire et abricot, que souhaites-tu voir ?

0
hsav Messages postés 36 Statut Membre > bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention  
 

Re !

Idéalement une concaténation des deux, sinon la première valeur affichée, donc poire.

Merci :)

0
bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91 > hsav Messages postés 36 Statut Membre
 

alors essaie en B4 feuil1, et à recopier :

=LET(c;FILTRE(Feuil2!$B$5:$K$11;Feuil2!$B$4:$K$4=B$3);JOINDRE.TEXTE(", ";VRAI;FILTRE(c;(Feuil2!$A$5:$A$11=$A4)*(c<>0);"")))
1
bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91 > hsav Messages postés 36 Statut Membre
 

Comme ceci  ?

=LET(c;FILTRE(Feuil2!$B$5:$K$11;Feuil2!$B$4:$K$4=B$3);JOINDRE.TEXTE(", ";VRAI;FILTRE(c;(Feuil2!$A$5:$A$11=$A4)*(c<>0)*(c<>"fraise");"")))
1
bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91 > hsav Messages postés 36 Statut Membre
 

Re,

Ok c'est ce que j'avais compris, alors essaie en B4 :

=LET(d;Feuil2!$B$4:$K$4;u;UNIQUE(DANSCOL(SI(((d>=B$3)*(d<B$3+7)*(Feuil2!$A$5:$A$11=$A4))>0;Feuil2!$B$5:$K$11;0)));JOINDRE.TEXTE(", ";VRAI;FILTRE(u;(u<>0)*(u<>"fraise"))))

et ça donne pomme, poire, abricot car il y a abricot les 8 et 9 juillet en bleu, (on exclue toujours fraise). Est-ce ok ?

1