Trouver la plus petite et la plus grande date pour différentes entités

jpourvoir

XLDnaute Nouveau
Bonjour,

Je dois effectuer le suivi des consommations d'un parc de véhicules.
Hors, la valeur des compteurs n'ayant pas été toujours saisie correctement, je recherche la valeur du compteur à la date la plus ancienne et la valeur du compteur à la date la plus récente, afin de déterminer une distance totale sans prendre en compte les valeurs intermédiaires.

Cette valeur me permet ensuite de déterminer la consomation (L / 100 km) pour chaque véhicule.


Pour ce faire j'utilise :
pour la date la plus ancienne, la formule matricielle :
Code:
{=MIN(($B$4:$B$530=J4)*$A$4:$A$530)}

et pour la date la plus récent, la formule matricielle :
Code:
{=MAX(($B$4:$B$530=J4)*$A$4:$A$530)}

La première ne fonctionne que pour la première ligne, puis affiche 0.:confused:
La seconde fonctionne parfaitement.

Quelqu'un pourrait-il me dire pourquoi ??:confused:

Je joins, le fichier source pour illustrer cette situation.

Merci

nb : J'utilise Excel 2007
 

Pièces jointes

  • Classeur1.xlsx
    56.4 KB · Affichages: 97
  • Classeur1.xlsx
    56.4 KB · Affichages: 99
  • Classeur1.xlsx
    56.4 KB · Affichages: 97

jpourvoir

XLDnaute Nouveau
Re : Trouver la plus petite et la plus grande date pour différentes entités

Merci JHA, cela fonctionne.

Pourriez-vous me dire ou m'orienter vers une page web qui m'expliquerait pourquoi avec MAX, la formule matricielle fonctionne et pas avec MIN.

Je trouve mon raisonnement correcte et j'ai besoin de comprendre pourquoi j'ai eu ce blocage.

Jpourvoir
 

JHA

XLDnaute Barbatruc
Re : Trouver la plus petite et la plus grande date pour différentes entités

Bonjour à tous,

je te suggère de faire un audit de ta formule (ruban: formule/audit de formule) sur le mini avec ta formule, tu verras que la valeur mini est "0" donc "00/01/1900" pour excel en format date.

Par contre avec:
=MIN(SI($B$4:$B$530=J4;$A$4:$A$530))

avec l'audit de formule, tu verras qu'il note Faux et non 0 donc il trouve la date mini.

JHA
 

Modeste geedee

XLDnaute Barbatruc
Re : Trouver la plus petite et la plus grande date pour différentes entités

Bonsour®

:cool:
contournement possible en utilisant un TCD ...
 

Pièces jointes

  • suivi conso.xlsx
    84.6 KB · Affichages: 71
  • Capture.JPG
    Capture.JPG
    65.9 KB · Affichages: 117
  • Capture.JPG
    Capture.JPG
    65.9 KB · Affichages: 95
  • Capture.JPG
    Capture.JPG
    65.9 KB · Affichages: 96

jpourvoir

XLDnaute Nouveau
Re : Trouver la plus petite et la plus grande date pour différentes entités

Bonjour à tous,

Merci pour les réponses que vous m'avez apporté.

Pour le TCD, j'y avais songé, mais mon explication un peu succincte ne permettait pas de préciser pourquoi je me suis orienté vers le matriciel.
Je m'explique : dans le tableau fournit, seuls les premières prises de carburant de l'année devraient avoir un relevé de compteur "sincère". En effet, peu d'utilisateurs sont suffisamment rigoureux dans ce reporting. Ce qui donne parfois des valeurs assez farfelus. Et avec le MIN ou le MAX d'un champ dans un TCD, je récupère forcement ces valeurs.

Je reviens vers vous, JHA en particulier, pour poussez un peu plus ma formule matricielle.
Vous avez certainement remarqué que certains véhicules sont hybrides (SP, Gasoil et GPL) et je souhaiterai faire cette distinction dans ma formule.

J'ai donc essayé cette formule :
{=MAX(SI(ET($C$2:$C$7650=S3;$E$2:$E$7650=T3);$B$2:$B$7650))}

Qui en français Excel pourrait se traduire par :

{=MAX(SI(ET(immatricutionS = immat_du_véhicule ; CarburantS=Carbu_du_véhicule ) ; DateS ))}

Mais forcement en auditant ma formule la condition SI avec un ET matriciel renvoie FAUX, soit 0.

Auriez vous une piste à me proposer, pour combiner deux conditions pour retourner une valeur ?

Merci

Jpourvoir
 

Pièces jointes

  • Classeur1.xlsx
    11.1 KB · Affichages: 62
  • Classeur1.xlsx
    11.1 KB · Affichages: 61
  • Classeur1.xlsx
    11.1 KB · Affichages: 67

JHA

XLDnaute Barbatruc
Re : Trouver la plus petite et la plus grande date pour différentes entités

Bonjour à tous,

Tu peux essayer en validation matricielle:
Code:
=MIN(SI(($B$2:$B$32=I3)*($C$2:$C$32=J3);$A$2:$A$32))

Code:
=MAX(SI(($B$2:$B$32=I3)*($C$2:$C$32=J3);$A$2:$A$32))

JHA
 

Discussions similaires

Statistiques des forums

Discussions
312 339
Messages
2 087 412
Membres
103 541
dernier inscrit
Sebast'o