Microsoft 365 Trouver la dernière valeur non vide selon 2 critères

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 !

Merlin258413

XLDnaute Occasionnel
Bonjour à tous,
Je cherche une formule me permettant de trouver la dernière valeur selon 2 critères (la tâche et la date sous le format aaaamm).
Pouvez vous m'aider svp en colonne F et G les résultats attendus
Encore merci pour votre aide
Bonne journée
 

Pièces jointes

Solution
Re,
Oui, plusieurs pb :
1) la fonction PRENDRE(t;;1), prend la première colonne du tableau, PRENDRE(t;;-1) prends la dernière, (alors que PRENDRE(t;;6) prends les 6 premières comme tu l'as modifié !)
Ta colonne BUDGET n'étant plus la dernière du tableau, il faut adapter. Le mieux est de recomposer un tableau à 3 colonnes avec ASSEMB.H et ça roule.
2) Tes noms de colonnes commencent par des espaces et ça pose pas mal de soucis, je les ai enlevés sur les colonnes concernées des deux tableaux
3) J'ai rajouté le paramètre si vide de la fonction FILTRE, pour les cas ou la tâche n'est pas trouvée
Ce qui donne :
VB:
=LET(t;TRIER(ASSEMB.H(TAB[No tache];TAB[Mois (AAAAMM)];TAB[Budget Production Cumule]);2);f;PRENDRE(FILTRE(t;(PRENDRE(t;;1)=[@[No...
Bonjour,
Une proposition Excel 365 à tester, en G5 :
VB:
=PRENDRE(FILTRE(Tableau1[budget];(Tableau1[tache]=[@tache])*(Tableau1[budget]<>""));-1)
Cordialement

Bonjour malheureusement cela ne fonctionne pas j'ai fait un test en ligne 9 en date du 202409 il aurait du me prendre 11 000
Capture.JPG
 
Re,
Ma proposition supposait que les dates étaient classées en ordre croissant, dans ton essai cela n'est plus vrai pour la tâche c. Ce cas est-il possible ?
Edit : une autre proposition, on peut adapter selon les colonnes réelles de ton tableau final :
VB:
=LET(t;TRIER(Tableau1;2);f;PRENDRE(FILTRE(t;(PRENDRE(t;;1)=[@tache])*(PRENDRE(t;;-1)<>""));-1;-1);f)
Cordialement
 
Dernière édition:
Re,
Ma proposition supposait que les dates étaient classées en ordre croissant, dans ton essai cela n'est plus vrai pour la tâche c. Ce cas est-il possible ?
re je pense que cela nécessite une opération supplémentaire de reclassement. si nous n'avons pas d'autres solutions c'est déjà vraiment très bien. Mais il est vrai que je peux tout mettre à la chaine
Merci
 
Re,
Ma proposition supposait que les dates étaient classées en ordre croissant, dans ton essai cela n'est plus vrai pour la tâche c. Ce cas est-il possible ?
Edit : une autre proposition, on peut adapter selon les colonnes réelles de ton tableau final :
VB:
=LET(t;TRIER(Tableau1;2);f;PRENDRE(FILTRE(t;(PRENDRE(t;;1)=[@tache])*(PRENDRE(t;;-1)<>""));-1;-1);f)
Cordialement
Bravo excellent merci beaucoup
 
Bravo excellent merci beaucoup
Re votre formule est super mais lorsque j'essaie de l'adapter à mon fichier cela ne fonctionne pas je ne sais pas pourquoi déjà certainement que je ne maitrise pas la fonction Let 😀 pouvez vous m'aider svp
C'est le meme principe mais sur 2 onglets différents je ramène en colonne J de ma feuil1 les donnéess de mon tableuau TAB colonne 25 en fonction de ma tâche et ma date
 

Pièces jointes

Re,
Oui, plusieurs pb :
1) la fonction PRENDRE(t;;1), prend la première colonne du tableau, PRENDRE(t;;-1) prends la dernière, (alors que PRENDRE(t;;6) prends les 6 premières comme tu l'as modifié !)
Ta colonne BUDGET n'étant plus la dernière du tableau, il faut adapter. Le mieux est de recomposer un tableau à 3 colonnes avec ASSEMB.H et ça roule.
2) Tes noms de colonnes commencent par des espaces et ça pose pas mal de soucis, je les ai enlevés sur les colonnes concernées des deux tableaux
3) J'ai rajouté le paramètre si vide de la fonction FILTRE, pour les cas ou la tâche n'est pas trouvée
Ce qui donne :
VB:
=LET(t;TRIER(ASSEMB.H(TAB[No tache];TAB[Mois (AAAAMM)];TAB[Budget Production Cumule]);2);f;PRENDRE(FILTRE(t;(PRENDRE(t;;1)=[@[No Tache]])*(PRENDRE(t;;-1)<>"");"");-1;-1);f)
À tester.
Cordialement
 

Pièces jointes

Re,
Oui, plusieurs pb :
1) la fonction PRENDRE(t;;1), prend la première colonne du tableau, PRENDRE(t;;-1) prends la dernière, (alors que PRENDRE(t;;6) prends les 6 premières comme tu l'as modifié !)
Ta colonne BUDGET n'étant plus la dernière du tableau, il faut adapter. Le mieux est de recomposer un tableau à 3 colonnes avec ASSEMB.H et ça roule.
2) Tes noms de colonnes commencent par des espaces et ça pose pas mal de soucis, je les ai enlevés sur les colonnes concernées des deux tableaux
3) J'ai rajouté le paramètre si vide de la fonction FILTRE, pour les cas ou la tâche n'est pas trouvée
Ce qui donne :
VB:
=LET(t;TRIER(ASSEMB.H(TAB[No tache];TAB[Mois (AAAAMM)];TAB[Budget Production Cumule]);2);f;PRENDRE(FILTRE(t;(PRENDRE(t;;1)=[@[No Tache]])*(PRENDRE(t;;-1)<>"");"");-1;-1);f)
À tester.
Cordialement
Merci beaucoup je teste mais ca à l'air de fonctionner
 
Bonjour Merlin258413, ALS35,

Pas besoin des nouvelles fonctions de Microsoft 365, voyez les 3 noms définis Critere Mois Buget.

Ce sont des matrices, il suffit de les utiliser dans la formule en Feuil1!J3 :
Code:
=SIERREUR(INDEX(Budget;EQUIV(MAX(Mois);Mois;0));"")
Comme ALS35 j'ai supprimé les espaces superflus dans les titres des colonnes.

A+
 

Pièces jointes

Bonjour Merlin258413, ALS35,

Pas besoin des nouvelles fonctions de Microsoft 365, voyez les 3 noms définis Critere Mois Buget.

Ce sont des matrices, il suffit de les utiliser dans la formule en Feuil1!J3 :
Code:
=SIERREUR(INDEX(Budget;EQUIV(MAX(Mois);Mois;0));"")
Comme ALS35 j'ai supprimé les espaces superflus dans les titres des colonnes.

A+
merci beaucoup ca fonctionne
 
En fait il suffit de définir le nom Mois après avoir sélectionné Feuil1!J3 :
Code:
=SI((Feuil1!$A3=TAB[No tache])*ESTNUM(TAB[Budget Production Cumule]);TAB[Mois (AAAAMM)] )
Puis d'entrer en Feuil1!J3 :
Code:
=SIERREUR(INDEX(TAB[Budget Production Cumule];EQUIV(MAX(Mois);Mois;0));"")
 

Pièces jointes

- 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
4
Affichages
100
Réponses
3
Affichages
367
Réponses
5
Affichages
508
Retour