XL 2010 Classement par fonction RANG avec conditions multiples

saadenpanne

XLDnaute Nouveau
Bonjour chère communauté Excel Downloads.

J'ai une problématique à régler mais je me trouve toujours bloqué donc j'espère que vous puissiez m'aider là-dessus.

La situation est la suivante : Dans une entreprise agricole, on enregistre les traitements phytosanitaires passés sur chaque serre de chaque ferme, donc une serre d'une ferme peut subir multiples traitements par différents produits et on doit connaître le nombre de traitements y passés pour chaque produit phytosanitaire utilisé.

Après avoir automatisé le calcul du nombre cumulé de passages de chaque traitement enregistré sur chaque serre de chaque ferme en utilisant la fonction NB.SI.ENS, le problème c'est qu'on souhaite aboutir à un classement de ces traitements dans le temps (en fonction de la date), par exemple : La serre 1 de la ferme A a subi 4 traitements par le même produit dans 4 dates différentes, comment est-il possible de déterminer le rang de chaque traitement exactement pour la serre de la ferme concernée ?
J'ai essayé la fonction RANG dans un 1er temps mais malheureusement, dès qu'on enregistre un autre traitement pour une autre serre d'une autre ferme, le classement est mis à jour et prend ainsi toutes les dates où d'autres serres d'autres fermes ont été enregistrées.

Je vous remercie par avance.
 

Pièces jointes

  • Classement traitement.xlsx
    12.3 KB · Affichages: 13

job75

XLDnaute Barbatruc
Bon d'accord, voyez le fichier joint et le nom défini Dates.

Formule matricielle en F2 à valider par Ctrl+Maj+Entrée :
Code:
=EQUIV([@date];PETITE.VALEUR(Dates;LIGNE(INDIRECT("1:"&NB(Dates))));0)
A+
 

Pièces jointes

  • Classement traitement.xlsx
    13.8 KB · Affichages: 19

saadenpanne

XLDnaute Nouveau
Bon d'accord, voyez le fichier joint et le nom défini Dates.

Formule matricielle en F2 à valider par Ctrl+Maj+Entrée :
Code:
=EQUIV([@date];PETITE.VALEUR(Dates;LIGNE(INDIRECT("1:"&NB(Dates))));0)
A+
Je vous remercie énormément cher monsieur, le problème est effectivement réglé, sinon pour la validation par Ctrl+MAJ+Entrée, je n'ai jamais eu l'opportunité de savoir de quoi s'agit-il, si vous pouvez m'expliquer svp j'en serai reconnaissant. Merci encore une fois
 

job75

XLDnaute Barbatruc
Le 3ème argument de la fonction SI n'est pas obligatoire, si le test logique est FAUX la fonction renvoie FAUX.

La validation matricielle permet de faire comprendre à Excel que les tableaux doivent être considérés comme des matrices pour le calcul de la formule.

Placez le curseur dans la barre de formule et appuyez simultanément sur les 3 touches Ctrl, Maj et Entrée.

Des accolades se placent alors à gauche et à droite de la formule.

Pour voir la matrice Dates sélectionnez ce mot dans la barre de formule et appuyez sur la touche F9.
 

saadenpanne

XLDnaute Nouveau
Le 3ème argument de la fonction SI n'est pas obligatoire, si le test logique est FAUX la fonction renvoie FAUX.

La validation matricielle permet de faire comprendre à Excel que les tableaux doivent être considérés comme des matrices pour le calcul de la formule.

Placez le curseur dans la barre de formule et appuyez simultanément sur les 3 touches Ctrl, Maj et Entrée.

Des accolades se placent alors à gauche et à droite de la formule.

Pour voir la matrice Dates sélectionnez ce mot dans la barre de formule et appuyez sur la touche F9.
D'accord, c'est bien clair. Merci bien
 

saadenpanne

XLDnaute Nouveau
D'accord, c'est bien clair. Merci bien
Bonjour, j'espère que je ne vous dérange pas toujours, j'ai essayé de refaire le travail sur le petit exemple (document que j'ai mis en PJ l'autre fois) et ça fonctionne bien, mais quand je le refais sur le document original où j'ai besoin d'appliquer cette fonction ça ne fonctionne pas, il s'agit d'une grosse base de données et quand je suis les étapes le résultat final est "0" pour tous les traitements enregistrées, est ce que vous avez du temps pour m'expliquer les détails de cette astuce ? et comment ça pourrait bien fonctionner sur ma base de donnée?
Merci par avance
 

job75

XLDnaute Barbatruc
Bonjour saadenpanne,

Vous n'avez pas dû appliquer la formule du post #4.

Car la fonction EQUIV en F2 ne peut pas renvoyer zéro.

Elle renvoie un entier positif ou #N/A si on ne la valide pas matriciellement.

A+
 

saadenpanne

XLDnaute Nouveau
Bonjour saadenpanne,

Vous n'avez pas dû appliquer la formule du post #4.

Car la fonction EQUIV en F2 ne peut pas renvoyer zéro.

Elle renvoie un entier positif ou #N/A si on ne la valide pas matriciellement.

A+
ça marche correctement sur F2, le problème c'est que je l'ai appliquée sur un nouveau document que vous trouverez en pièce jointe, la colonne en jaune est celle où la formule est appliquée, veuillez jeter un coup d'oeil si vous voulez
 

Pièces jointes

  • base été test.xlsx
    742.2 KB · Affichages: 3

saadenpanne

XLDnaute Nouveau
Votre formule définissant le nom dates n'est pas correcte, il ne faut surtout pas utiliser la fonction ET !!!

Appliquez celle que j'ai donnée au post #4, un point c'est tout.
J'ai essayé votre formule au lieu de ET mais ça ne marche pas à chaque fois que je valide ça m'affiche une erreur, j'ai essayé aussi de la structurer manuellement à plusieurs reprises mais en vain. est ce que vous pouvez tenter de le faire sur le dernier document que j'ai mis en PJ ?
 

Discussions similaires