Maitrise de la formule matricielle
Résolu
Maureen
-
pilas31 Messages postés 1825 Date d'inscription Statut Contributeur Dernière intervention -
pilas31 Messages postés 1825 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je tente de me dépatouiller sur excel avec la formule matricielle mais j'ai quelques soucis. Je tente de faire une fonction pour faire ceci :
Si (X est plus grand que 1.2 ET Y est plus grand que 1.2) ET/OU que Z est plus grand que 1.5, alors additionner la colonne A.
Je l'ai noté ainsi :
{SOMME(colonne A*((colonne x>1.2)*(colonne y>1.2))+(colonne z>1.5)}
Mais ça ne donne pas le bon résultat ! Est-ce que quelqu'un peut m'aider ?
Merci d'avance :)
Maureen
Je tente de me dépatouiller sur excel avec la formule matricielle mais j'ai quelques soucis. Je tente de faire une fonction pour faire ceci :
Si (X est plus grand que 1.2 ET Y est plus grand que 1.2) ET/OU que Z est plus grand que 1.5, alors additionner la colonne A.
Je l'ai noté ainsi :
{SOMME(colonne A*((colonne x>1.2)*(colonne y>1.2))+(colonne z>1.5)}
Mais ça ne donne pas le bon résultat ! Est-ce que quelqu'un peut m'aider ?
Merci d'avance :)
Maureen
A voir également:
- Maitrise de la formule matricielle
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
3 réponses
Bonjour à tous
Je reprends la syntaxe utilisée par Maureen
1/ Si la dernière condition est un OU voici la bonne formulation :
En matriciel
{=SOMME(colonne A *( colonne x>1.2)*( colonne y>1.2)*( colonne z <=1.5)+ colonne A*( colonne z>1.5)) }
Avec sommeprod qui est directement matriciel comme le précise eriiic
=SOMMEPROD(colonne A *( colonne x>1.2)*( colonne y>1.2)*( colonne z <=1.5)+ colonne A*( colonne z>1.5))
2/ Si la dernière condition est un ET :
{=SOMME(colonne A *( colonne x>1.2)*( colonne y>1.2) *( colonne z>1.5)) }
Ou avec sommeprod :
=SOMMEPROD(colonne A *( colonne x>1.2)*( colonne y>1.2) *( colonne z>1.5))
A+
Cordialement,
Je reprends la syntaxe utilisée par Maureen
1/ Si la dernière condition est un OU voici la bonne formulation :
En matriciel
{=SOMME(colonne A *( colonne x>1.2)*( colonne y>1.2)*( colonne z <=1.5)+ colonne A*( colonne z>1.5)) }
Avec sommeprod qui est directement matriciel comme le précise eriiic
=SOMMEPROD(colonne A *( colonne x>1.2)*( colonne y>1.2)*( colonne z <=1.5)+ colonne A*( colonne z>1.5))
2/ Si la dernière condition est un ET :
{=SOMME(colonne A *( colonne x>1.2)*( colonne y>1.2) *( colonne z>1.5)) }
Ou avec sommeprod :
=SOMMEPROD(colonne A *( colonne x>1.2)*( colonne y>1.2) *( colonne z>1.5))
A+
Cordialement,
Forcément que ça ne donne rien ;-)
Commençons par le commencement: quel est l'objectif ? Et reformulons ton problème. D'après ce qu'on lit:
Que représentent X, Y et Z ? Des vecteurs comprenant des valeur X1, X2,... Y1,Y2,... Z1,Z2,....?
Que veut dire ton test "si X > 1.2" : est-ce que ce sont toutes les valeurs de "X" ? Au moins une ? ou alors tu veux additionner tous les X dont la valeur est > 1.2 ?
Que signifie "alors additionner la colonne A" ? est-ce que ça veut dire que tu veux additionner TOUTES les valeurs de A, ou seulement les A1, A2,... pour lesquels le test est positif ?
Conclusion: merci de bien expliquer ton objectif :-)
Commençons par le commencement: quel est l'objectif ? Et reformulons ton problème. D'après ce qu'on lit:
Si (X est plus grand que 1.2 ET Y est plus grand que 1.2) ET/OU que Z est plus grand que 1.5, alors additionner la colonne A.
Que représentent X, Y et Z ? Des vecteurs comprenant des valeur X1, X2,... Y1,Y2,... Z1,Z2,....?
Que veut dire ton test "si X > 1.2" : est-ce que ce sont toutes les valeurs de "X" ? Au moins une ? ou alors tu veux additionner tous les X dont la valeur est > 1.2 ?
Que signifie "alors additionner la colonne A" ? est-ce que ça veut dire que tu veux additionner TOUTES les valeurs de A, ou seulement les A1, A2,... pour lesquels le test est positif ?
Conclusion: merci de bien expliquer ton objectif :-)
Bonjour,
J'ajouterai de bien préciser le ET/OU
Soit c'est ET, soit c'est OU, le résultat sera totalement différent...
Si c'est ET : ça sera les 2 premières condition + la 3ème (auquel cas les parenthèses ne servent plus donc je penche sur l'interprétation suivante)
Si c'est OU : ça sera les 2 premières conditions réunies OU la 3ème seule
Quoiqu'il en soit la réponse sera sommeprod() qui est (auto)matricielle et ne nécessite pas de validation par shift+ctrl+entrée
eric
J'ajouterai de bien préciser le ET/OU
Soit c'est ET, soit c'est OU, le résultat sera totalement différent...
Si c'est ET : ça sera les 2 premières condition + la 3ème (auquel cas les parenthèses ne servent plus donc je penche sur l'interprétation suivante)
Si c'est OU : ça sera les 2 premières conditions réunies OU la 3ème seule
Quoiqu'il en soit la réponse sera sommeprod() qui est (auto)matricielle et ne nécessite pas de validation par shift+ctrl+entrée
eric
Merci de vos réponses, je vais essayer d'être plus claire ! Autant expliquer immédiatement ce que je cherche à faire. Si ça se trouve la formule matricielle n'est pas si pertinente...
Je veux placer des objets sur des palettes. Pour prévoir la quantité de palettes, j'ai besoin de connaître la surface occupée par ces objets. Les objets qui iront sur ces palettes doivent avoir une longueur et une largeur supérieures à 1.2m ou une hauteur supérieure à 1.5m.
Les plateaux des étagères font 1.2m sur 1.2m pour 1.5m de hauteur maximum. Donc, je veux additionner la surface occupée par les objets qui ont une longueur et une largeur inférieures à 1.2m ou qui ont une hauteur inférieure à 1.5m
Il y a donc deux critères : La longueur/largeur et la hauteur. Si l'une des deux conditions est remplie, excel calcule la surface occupée. Mais si les deux conditions sont remplies, excel doit aussi calculer la surface occupée.
Dont mon ET/OU dans mon premier énoncé... car pour calculer la surface d'un objet, ce dernier peut remplir soit l'un des deux critères (ou), soit les deux en même temps (et).
Comme il y a beaucoup d'objets, les données sont par colonne et les objets sur les lignes.
Colonne x = longueur
Colonne y = largeur
Colonne z = hauteur
Colonne A = surface
Est-ce plus claire ainsi ?
Merci beaucoup pilas31, ta correction a réussi !
Mais je ne comprends pas la logique du calcul. Pourquoi cette syntaxe correspond-elle à ce que j'appelais et/ou ?
Je veux placer des objets sur des palettes. Pour prévoir la quantité de palettes, j'ai besoin de connaître la surface occupée par ces objets. Les objets qui iront sur ces palettes doivent avoir une longueur et une largeur supérieures à 1.2m ou une hauteur supérieure à 1.5m.
Les plateaux des étagères font 1.2m sur 1.2m pour 1.5m de hauteur maximum. Donc, je veux additionner la surface occupée par les objets qui ont une longueur et une largeur inférieures à 1.2m ou qui ont une hauteur inférieure à 1.5m
Il y a donc deux critères : La longueur/largeur et la hauteur. Si l'une des deux conditions est remplie, excel calcule la surface occupée. Mais si les deux conditions sont remplies, excel doit aussi calculer la surface occupée.
Dont mon ET/OU dans mon premier énoncé... car pour calculer la surface d'un objet, ce dernier peut remplir soit l'un des deux critères (ou), soit les deux en même temps (et).
Comme il y a beaucoup d'objets, les données sont par colonne et les objets sur les lignes.
Colonne x = longueur
Colonne y = largeur
Colonne z = hauteur
Colonne A = surface
Est-ce plus claire ainsi ?
Merci beaucoup pilas31, ta correction a réussi !
Mais je ne comprends pas la logique du calcul. Pourquoi cette syntaxe correspond-elle à ce que j'appelais et/ou ?
ça marche tout simplement parce que je pense que ce que tu appelles ET/OU c'est un OU (de toute façon il n'y a que deux opérateurs de comparaison en logique et des combinaisons de ces deux opérateurs).
donc la formule calcule la chose suivante :
La somme des surfaces de tous ceux qui ont (la longueur et la largeur supérieure à 1,2) bien que la hauteur soit inférieure ou égale à 1,5
Et on ajoute la surface ceux qui on une hauteur supérieure à 1,5 quelle que soit la longueur et la largeur.
Pour être plus précis, ta formule initiale donnait la somme des surfaces de ceux dont la longueur et la largeur est supérieur à 1,20 et ajoutait le nombre de ceux dont la hauteur est supérieur à 1,5 d'ou le résultat curieux.
donc la formule calcule la chose suivante :
La somme des surfaces de tous ceux qui ont (la longueur et la largeur supérieure à 1,2) bien que la hauteur soit inférieure ou égale à 1,5
Et on ajoute la surface ceux qui on une hauteur supérieure à 1,5 quelle que soit la longueur et la largeur.
Pour être plus précis, ta formule initiale donnait la somme des surfaces de ceux dont la longueur et la largeur est supérieur à 1,20 et ajoutait le nombre de ceux dont la hauteur est supérieur à 1,5 d'ou le résultat curieux.
Je viens de lire ton problème.
Donc si les objets sont assez "petits" ils vont sur des étagères sinon il vont sur des palettes c'est ça ?
Ils peuvent aller sur les étagères si la hauteur est inférieure à 1,5 ça c'est ok mais aussi si seulement l'une des deux autres dimension est inférieure à 1,2 .
Pardon mais je crois que je n'ai pas compris ton problème et je crains que la formule ne corresponde pas à ce que tu cherche.....
Donc si les objets sont assez "petits" ils vont sur des étagères sinon il vont sur des palettes c'est ça ?
Ils peuvent aller sur les étagères si la hauteur est inférieure à 1,5 ça c'est ok mais aussi si seulement l'une des deux autres dimension est inférieure à 1,2 .
Pardon mais je crois que je n'ai pas compris ton problème et je crains que la formule ne corresponde pas à ce que tu cherche.....
Les objets petits vont effectivement sur des étagères. Mais c'est la longueur ET la largeur qui doivent chacune être inférieures à 1.2m. Parce que si c'est seulement l'un des deux, il suffit de tourner l'objet pour qu'il entre tout de même sur l'étagère.
Je viens de relire mon deuxième énoncé et le passage
"Les plateaux des étagères font 1.2m sur 1.2m pour 1.5m de hauteur maximum. Donc, je veux additionner la surface occupée par les objets qui ont une longueur et une largeur inférieures à 1.2m ou qui ont une hauteur inférieure à 1.5m"
porte à confusion, je l'admets. Ce que je veux calculer, c'est bien la surface des objets sur palettes et non pas sur étagères (bien que le calcul de l'un serve le calcul de l'autre).
La formule est donc juste, n'est-ce pas ?
J'ai bien compris tes précisions et appréhende mieux ce calcul ! Merci beaucoup !
Je viens de relire mon deuxième énoncé et le passage
"Les plateaux des étagères font 1.2m sur 1.2m pour 1.5m de hauteur maximum. Donc, je veux additionner la surface occupée par les objets qui ont une longueur et une largeur inférieures à 1.2m ou qui ont une hauteur inférieure à 1.5m"
porte à confusion, je l'admets. Ce que je veux calculer, c'est bien la surface des objets sur palettes et non pas sur étagères (bien que le calcul de l'un serve le calcul de l'autre).
La formule est donc juste, n'est-ce pas ?
J'ai bien compris tes précisions et appréhende mieux ce calcul ! Merci beaucoup !