rajouter une condition à une formule matricielle

pphilippe

XLDnaute Junior
Bonjour

Dans le fichier ci joint qui est un registre de manipulation, je cherche à contrôler la cohérence des mouvements.

Ce qui veut dire que si je soutire 100 unités d'une cuve qui en contient 150 je souhaite savoir (colonne 5 - volume pris) quel volume doit se trouver dans cette cuve, juste histoire de savoir si cette manipulation est cohérente.
En effet l'opérateur ne peut extraire 100 si, au dernier remplissage la cuve est censée contenir 90.

Mais il arrive parfois que la dernière valeur renvoyée (colonne 9 ou E) ne corresponde pas à une cuve pleine (ça peut arriver) . J'ai alors rajouté une colonne (en jaune colonne 11 ou K) qui me dit si la cuve au final est pleine ou non. Si je n'ai pas cette info, la formule ne me renvoie pas le véritable contenu de ma cuve. (cas d'une cuve qui se rempli en plusieurs fois)

Comment d'après vous puis-je rajouter ce critère (1/0) dans ma formule matricielle ?
Est-ce seulement possible ?
Y aurait-il une autre méthode ?

J'espère avoir été clair ... Bonne soirée à vous
pphilippe
 

Pièces jointes

  • extraire_val.xls
    26.5 KB · Affichages: 66

Iznogood1

XLDnaute Impliqué
Re : rajouter une condition à une formule matricielle

Bonjour,

Pas clair pour moi.
J'essaye de reformuler.

Données constantes : n° de cuve / capacité de chaque cuve
Opération enregistrées : par date, un volume transféré d'une cuve à l'autre
Données calculées pour chaque opération : volumes initiaux et finaux dans chacune des 2 cuves
Contrôles à effectuer : ???

Est-ce ça ?
 

pphilippe

XLDnaute Junior
Re : rajouter une condition à une formule matricielle

Bonjour,

Pas clair pour moi.
J'essaye de reformuler.

Données constantes : n° de cuve / capacité de chaque cuve
Opération enregistrées : par date, un volume transféré d'une cuve à l'autre
Données calculées pour chaque opération : volumes initiaux et finaux dans chacune des 2 cuves
Contrôles à effectuer : ???

Est-ce ça ?

Oui c'est cela ... la logique est : [date]&[cuve départ => cuve fin ] & [volume départ =>volume fin ]

sauf que, (exemple) il peut arriver qu'un jour, l'opérateur indique un certain volume fin dans la cuve C1 qui se trouve en position de [Cuve fin]
et que quelques temps plus tard lorsque C1 se retrouve en position de [cuve départ] pour un nouveau transfert l'opérateur m'indique un volume différent (erreur ou alors il ne prend qu'une partie de la cuve ) l'objectif pour moi est de repérer ces écarts , dit autrement quand je rentre la cuve C1 en position de cuve départ, les cellules Volume (Volume init) se remplissent seules grâce à la formule magique *.
C'est facile quand la cuve fin est remplie en une fois, c'est moins facile quand la cuve finale se rempli en plusieurs fois. Dans ce cas la cellule [Volume init] me renvoie le dernier volume qu'elle trouve sur sa route grâce à la formule (magique) :

*INDEX(L1C10:L(-1)C10;MAX(SI(L1C8:L(-1)C8=LC2;LIGNE(L1C:L(-1)C2))

cette formule fonctionne très bien sauf qu'elle me renvoie le dernier volume connu de la cuve. Si je veux confirmer que la cuve est pleine à cette date j'ai rajouté la colonne (en jaune dans le fichier joint )[cuve pleine] 1 si oui et 0 si non.
Ma question est la suivante (ouf!) comment puis je rentrer cette condition dans la formule matricielle ci dessus. Avec SOMMEPROD c'est simple, je suis moins à l'aise avec les matricielles.
Je ne sais pas si c'est plus clair.
Merci en tout cas de m'avoir lu jusqu'au bout.
pphilippe
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 335
Membres
103 523
dernier inscrit
mounir2025