Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne
B 1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de
la droite ne doit pas changer. Avec toute formule qui ne modifie que la
plage des y pour ne prendre en compte que les valeurs non nulles ou qui
ne sont pas en erreur, et qui n'ajuste pas la plage des x
correspondante, le résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant
de saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit
pas avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles
qui sont en erreur ou vides (0 est une valeur tout à fait acceptable
dans une droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :
> ReB smr78
> Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
> =DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
> "smr78" a écrit dans le message de news:
>
>> comme dit snoopy, les compliments n'ont jamais fait de mal.
>>
>> d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
>> mais
>> je préfère les formules car les utilsateurs sont en général affolés de
>> voir
>> le message d'alerte au chargement "accepter les macros?"
>>
>> Pour Fredo P, plus bas dans l'aide il est écrit :
>>
>> Pente :
>> =INDEX(DROITEREG(y_connus; x_connus); 1)
>>
>> je me sers donc de cette formule
>> Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
>> une matrice de données d'entrée
>>
>> Merci encore
>>
>> "Misange" a écrit :
>>
>>> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
>>> facilement ni rapidement ! la logique macro m'a toujours semblée plus
>>> facile à suivre même si les formules sont plus rapides.
>>> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
>>> tu auras une chance de plus ;-)
>>> tu peux assez facilement faire une macro qui se déclenche au changement
>>> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
>>> tout seul
>>> reviens au besoin mais là je décroche !
>>> Misange migrateuse
>>> XlWiki : Participez à un travail collaboratif sur excel !
>>> http://xlwiki.free.fr/wiki
>>> http://www.excelabo.net
>>>
>>> smr78 a écrit :
>>>> Bonsoir,
>>>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
>>>> Je suis déçu (d'Excel, pas de Misange).
>>>> Il va falloir que je fasse un tri dynamique car les valeurs sont
>>>> susceptibles de changer tous les jours et je ne veux pas demander à
>>>> l'utilisateur de faire un tri manuel, au risque de tout casser.
>>>> Merci encore
>>>> Cordialement
>>>>
>>>> "Misange" a écrit :
>>>>
>>>>> Bonsoir
>>>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
>>>>> tableau.
>>>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
>>>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides
>>>>> et
>>>>> pas avec les valeurs d'erreur.
>>>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
>>>>> vois pas comment. PEut être d'autres formulistes aguerris y
>>>>> parviendront.
>>>>> Misange migrateuse
>>>>> XlWiki : Participez à un travail collaboratif sur excel !
>>>>> http://xlwiki.free.fr/wiki
>>>>> http://www.excelabo.net
>>>>>
>>>>> smr78 a écrit :
>>>>>> Bonjour,
>>>>>>
>>>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
>>>>>> par
>>>>>> exemple afin d'en calculer la pente par la formule
>>>>>> =INDEX(DROITEREG(A1:Ax);1)
>>>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
>>>>>> par un
>>>>>> nom de plage)
>>>>>>
>>>>>> Le problème est que la plage contient pas mal de valeurs vides qui
>>>>>> influent
>>>>>> beaucoup sur la pente.
>>>>>>
>>>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une
>>>>>> plage
>>>>>> qui serait la plage d'origine sans les valeurs inférieures à un
>>>>>> critère (de
>>>>>> préférence situé dans une cellule B1 par ex.)
>>>>>>
>>>>>> j'ai essayé qqchose comme
>>>>>>
>>>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
>>>>>>
>>>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
>>>>>> trouvé
>>>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou
>>>>>> supérieure à un
>>>>>> critère!
>>>>>>
>>>>>> Merci par avance
>>>>>>
>>>>>> Cordialement
>
>
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne
B 1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de
la droite ne doit pas changer. Avec toute formule qui ne modifie que la
plage des y pour ne prendre en compte que les valeurs non nulles ou qui
ne sont pas en erreur, et qui n'ajuste pas la plage des x
correspondante, le résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant
de saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit
pas avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles
qui sont en erreur ou vides (0 est une valeur tout à fait acceptable
dans une droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :
> ReB smr78
> Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
> =DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
> "smr78" <smr78@discussions.microsoft.com> a écrit dans le message de news:
> 5A34471E-0B07-4FB6-A065-803AC7549B49@microsoft.com...
>> comme dit snoopy, les compliments n'ont jamais fait de mal.
>>
>> d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
>> mais
>> je préfère les formules car les utilsateurs sont en général affolés de
>> voir
>> le message d'alerte au chargement "accepter les macros?"
>>
>> Pour Fredo P, plus bas dans l'aide il est écrit :
>>
>> Pente :
>> =INDEX(DROITEREG(y_connus; x_connus); 1)
>>
>> je me sers donc de cette formule
>> Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
>> une matrice de données d'entrée
>>
>> Merci encore
>>
>> "Misange" a écrit :
>>
>>> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
>>> facilement ni rapidement ! la logique macro m'a toujours semblée plus
>>> facile à suivre même si les formules sont plus rapides.
>>> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
>>> tu auras une chance de plus ;-)
>>> tu peux assez facilement faire une macro qui se déclenche au changement
>>> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
>>> tout seul
>>> reviens au besoin mais là je décroche !
>>> Misange migrateuse
>>> XlWiki : Participez à un travail collaboratif sur excel !
>>> http://xlwiki.free.fr/wiki
>>> http://www.excelabo.net
>>>
>>> smr78 a écrit :
>>>> Bonsoir,
>>>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
>>>> Je suis déçu (d'Excel, pas de Misange).
>>>> Il va falloir que je fasse un tri dynamique car les valeurs sont
>>>> susceptibles de changer tous les jours et je ne veux pas demander à
>>>> l'utilisateur de faire un tri manuel, au risque de tout casser.
>>>> Merci encore
>>>> Cordialement
>>>>
>>>> "Misange" a écrit :
>>>>
>>>>> Bonsoir
>>>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
>>>>> tableau.
>>>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
>>>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides
>>>>> et
>>>>> pas avec les valeurs d'erreur.
>>>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
>>>>> vois pas comment. PEut être d'autres formulistes aguerris y
>>>>> parviendront.
>>>>> Misange migrateuse
>>>>> XlWiki : Participez à un travail collaboratif sur excel !
>>>>> http://xlwiki.free.fr/wiki
>>>>> http://www.excelabo.net
>>>>>
>>>>> smr78 a écrit :
>>>>>> Bonjour,
>>>>>>
>>>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
>>>>>> par
>>>>>> exemple afin d'en calculer la pente par la formule
>>>>>> =INDEX(DROITEREG(A1:Ax);1)
>>>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
>>>>>> par un
>>>>>> nom de plage)
>>>>>>
>>>>>> Le problème est que la plage contient pas mal de valeurs vides qui
>>>>>> influent
>>>>>> beaucoup sur la pente.
>>>>>>
>>>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une
>>>>>> plage
>>>>>> qui serait la plage d'origine sans les valeurs inférieures à un
>>>>>> critère (de
>>>>>> préférence situé dans une cellule B1 par ex.)
>>>>>>
>>>>>> j'ai essayé qqchose comme
>>>>>>
>>>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
>>>>>>
>>>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
>>>>>> trouvé
>>>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou
>>>>>> supérieure à un
>>>>>> critère!
>>>>>>
>>>>>> Merci par avance
>>>>>>
>>>>>> Cordialement
>
>
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne
B 1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de
la droite ne doit pas changer. Avec toute formule qui ne modifie que la
plage des y pour ne prendre en compte que les valeurs non nulles ou qui
ne sont pas en erreur, et qui n'ajuste pas la plage des x
correspondante, le résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant
de saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit
pas avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles
qui sont en erreur ou vides (0 est une valeur tout à fait acceptable
dans une droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :
> ReB smr78
> Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
> =DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
> "smr78" a écrit dans le message de news:
>
>> comme dit snoopy, les compliments n'ont jamais fait de mal.
>>
>> d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
>> mais
>> je préfère les formules car les utilsateurs sont en général affolés de
>> voir
>> le message d'alerte au chargement "accepter les macros?"
>>
>> Pour Fredo P, plus bas dans l'aide il est écrit :
>>
>> Pente :
>> =INDEX(DROITEREG(y_connus; x_connus); 1)
>>
>> je me sers donc de cette formule
>> Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
>> une matrice de données d'entrée
>>
>> Merci encore
>>
>> "Misange" a écrit :
>>
>>> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
>>> facilement ni rapidement ! la logique macro m'a toujours semblée plus
>>> facile à suivre même si les formules sont plus rapides.
>>> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
>>> tu auras une chance de plus ;-)
>>> tu peux assez facilement faire une macro qui se déclenche au changement
>>> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
>>> tout seul
>>> reviens au besoin mais là je décroche !
>>> Misange migrateuse
>>> XlWiki : Participez à un travail collaboratif sur excel !
>>> http://xlwiki.free.fr/wiki
>>> http://www.excelabo.net
>>>
>>> smr78 a écrit :
>>>> Bonsoir,
>>>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
>>>> Je suis déçu (d'Excel, pas de Misange).
>>>> Il va falloir que je fasse un tri dynamique car les valeurs sont
>>>> susceptibles de changer tous les jours et je ne veux pas demander à
>>>> l'utilisateur de faire un tri manuel, au risque de tout casser.
>>>> Merci encore
>>>> Cordialement
>>>>
>>>> "Misange" a écrit :
>>>>
>>>>> Bonsoir
>>>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
>>>>> tableau.
>>>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
>>>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides
>>>>> et
>>>>> pas avec les valeurs d'erreur.
>>>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
>>>>> vois pas comment. PEut être d'autres formulistes aguerris y
>>>>> parviendront.
>>>>> Misange migrateuse
>>>>> XlWiki : Participez à un travail collaboratif sur excel !
>>>>> http://xlwiki.free.fr/wiki
>>>>> http://www.excelabo.net
>>>>>
>>>>> smr78 a écrit :
>>>>>> Bonjour,
>>>>>>
>>>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
>>>>>> par
>>>>>> exemple afin d'en calculer la pente par la formule
>>>>>> =INDEX(DROITEREG(A1:Ax);1)
>>>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
>>>>>> par un
>>>>>> nom de plage)
>>>>>>
>>>>>> Le problème est que la plage contient pas mal de valeurs vides qui
>>>>>> influent
>>>>>> beaucoup sur la pente.
>>>>>>
>>>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une
>>>>>> plage
>>>>>> qui serait la plage d'origine sans les valeurs inférieures à un
>>>>>> critère (de
>>>>>> préférence situé dans une cellule B1 par ex.)
>>>>>>
>>>>>> j'ai essayé qqchose comme
>>>>>>
>>>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
>>>>>>
>>>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
>>>>>> trouvé
>>>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou
>>>>>> supérieure à un
>>>>>> critère!
>>>>>>
>>>>>> Merci par avance
>>>>>>
>>>>>> Cordialement
>
>
Bonjour,
Pas mal vu en tout cas, il y a peut-être à creuser dans ce sens.
J'ai modifié la formule car mon problème n'est pas tout à fait celui-là
j'ai (par exemple) une colonne A avec 21,22,23,10,25,26... et en B1 je mets
le critère (20), le seuil de valeur à éliminer
en adaptant la formule de Fredo, il faut écrire :
=INDEX(DROITEREG((A1:A170>B1)*A1:A170);1)
Ce que fait cette formule est de mettre virtuellement à zéro les cellules où
les valeurs sont inférieures au seuil. Mon souci est d'ignoer ces cellules
comme si l'on avait
A: 21,22,23,25,26
En tout cas, la formule est juste puisque si je mets 0 en B1, j'obtiens bien
la même pente car pour l'instant, mes valeurs à ignorer sont des zéros.
Peut-être est-ce le poster de Misange que j'ai vu dans les années 70, et
dont je me rappelle la maxime ; par contre je ne sais plus si sur ce poster
Snoopy était couché sur le toit de sa niche, ou bien si Charlie lui tapote
sur la tête?
Cordialement
"Misange" a écrit :Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne
B 1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de
la droite ne doit pas changer. Avec toute formule qui ne modifie que la
plage des y pour ne prendre en compte que les valeurs non nulles ou qui
ne sont pas en erreur, et qui n'ajuste pas la plage des x
correspondante, le résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant
de saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit
pas avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles
qui sont en erreur ou vides (0 est une valeur tout à fait acceptable
dans une droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" a écrit dans le message de news:comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou une
plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
Bonjour,
Pas mal vu en tout cas, il y a peut-être à creuser dans ce sens.
J'ai modifié la formule car mon problème n'est pas tout à fait celui-là
j'ai (par exemple) une colonne A avec 21,22,23,10,25,26... et en B1 je mets
le critère (20), le seuil de valeur à éliminer
en adaptant la formule de Fredo, il faut écrire :
=INDEX(DROITEREG((A1:A170>B1)*A1:A170);1)
Ce que fait cette formule est de mettre virtuellement à zéro les cellules où
les valeurs sont inférieures au seuil. Mon souci est d'ignoer ces cellules
comme si l'on avait
A: 21,22,23,25,26
En tout cas, la formule est juste puisque si je mets 0 en B1, j'obtiens bien
la même pente car pour l'instant, mes valeurs à ignorer sont des zéros.
Peut-être est-ce le poster de Misange que j'ai vu dans les années 70, et
dont je me rappelle la maxime ; par contre je ne sais plus si sur ce poster
Snoopy était couché sur le toit de sa niche, ou bien si Charlie lui tapote
sur la tête?
Cordialement
"Misange" a écrit :
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne
B 1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de
la droite ne doit pas changer. Avec toute formule qui ne modifie que la
plage des y pour ne prendre en compte que les valeurs non nulles ou qui
ne sont pas en erreur, et qui n'ajuste pas la plage des x
correspondante, le résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant
de saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit
pas avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles
qui sont en erreur ou vides (0 est une valeur tout à fait acceptable
dans une droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :
ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" <smr78@discussions.microsoft.com> a écrit dans le message de news:
5A34471E-0B07-4FB6-A065-803AC7549B49@microsoft.com...
comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :
tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :
Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :
Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :
Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou une
plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
Bonjour,
Pas mal vu en tout cas, il y a peut-être à creuser dans ce sens.
J'ai modifié la formule car mon problème n'est pas tout à fait celui-là
j'ai (par exemple) une colonne A avec 21,22,23,10,25,26... et en B1 je mets
le critère (20), le seuil de valeur à éliminer
en adaptant la formule de Fredo, il faut écrire :
=INDEX(DROITEREG((A1:A170>B1)*A1:A170);1)
Ce que fait cette formule est de mettre virtuellement à zéro les cellules où
les valeurs sont inférieures au seuil. Mon souci est d'ignoer ces cellules
comme si l'on avait
A: 21,22,23,25,26
En tout cas, la formule est juste puisque si je mets 0 en B1, j'obtiens bien
la même pente car pour l'instant, mes valeurs à ignorer sont des zéros.
Peut-être est-ce le poster de Misange que j'ai vu dans les années 70, et
dont je me rappelle la maxime ; par contre je ne sais plus si sur ce poster
Snoopy était couché sur le toit de sa niche, ou bien si Charlie lui tapote
sur la tête?
Cordialement
"Misange" a écrit :Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne
B 1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de
la droite ne doit pas changer. Avec toute formule qui ne modifie que la
plage des y pour ne prendre en compte que les valeurs non nulles ou qui
ne sont pas en erreur, et qui n'ajuste pas la plage des x
correspondante, le résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant
de saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit
pas avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles
qui sont en erreur ou vides (0 est une valeur tout à fait acceptable
dans une droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" a écrit dans le message de news:comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou une
plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
smr78 a écrit :
> comme dit snoopy, les compliments n'ont jamais fait de mal.
:-)
J'ai eu longtemps sur la porte de mon labo un poster de snoopy avec
cette phrase précisément, façon claire de dire à mon patron de l'époque
qu'il ne lui était pas interdit de dire quand il était satisfait
puisqu'il ne se privait jamais de dire quand il ne l'était pas...
>
> d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB, mais
> je préfère les formules car les utilsateurs sont en général affolés de voir
> le message d'alerte au chargement "accepter les macros?"
Certes mais il faut aussi expliquer aux utilisateurs que les macros ce
n'est pas des virus. Que pour accéder à des fonctions évoluées, il faut
aussi évoluer soi même et s'éduquer.
>
> Pour Fredo P, plus bas dans l'aide il est écrit :
>
> Pente :
> =INDEX(DROITEREG(y_connus; x_connus); 1)
>
> je me sers donc de cette formule
> Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
> une matrice de données d'entrée
droitereg(plageY;plageX) renvoie directement la pente que tu cherches,
nul besoin dans le cas présent de passer par une recherche avec index de
la position de la pente dans la matrice de résultat. Ceci n'est vrai que
parce que la pente est la première valeur renvoyée par la matrice.
En revanche si tu veux l'ordonnée à l'origine, ou le coeff de
régression, la tu as absolument besoin soit de saisir plusuers cellules
et de valider en matricielle, soit de récupérer avec index la position
de ces deux paramètres dans la matrice de résultats.
J'ai fait un classeur exemple que tu trouveras sur excelabo
(fc-regression). Mais il ne traite pas de ce que tu cherches, à savoir
éliminer les valeurs non encore renseignées ou fausses dans les données.
>
> Merci encore
>
> "Misange" a écrit :
>
>> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
>> facilement ni rapidement ! la logique macro m'a toujours semblée plus
>> facile à suivre même si les formules sont plus rapides.
>> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
>> tu auras une chance de plus ;-)
>> tu peux assez facilement faire une macro qui se déclenche au changement
>> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
>> tout seul
>> reviens au besoin mais là je décroche !
>> Misange migrateuse
>> XlWiki : Participez à un travail collaboratif sur excel !
>> http://xlwiki.free.fr/wiki
>> http://www.excelabo.net
>>
>> smr78 a écrit :
>>> Bonsoir,
>>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
>>> Je suis déçu (d'Excel, pas de Misange).
>>> Il va falloir que je fasse un tri dynamique car les valeurs sont
>>> susceptibles de changer tous les jours et je ne veux pas demander à
>>> l'utilisateur de faire un tri manuel, au risque de tout casser.
>>> Merci encore
>>> Cordialement
>>>
>>> "Misange" a écrit :
>>>
>>>> Bonsoir
>>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
>>>> tableau.
>>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
>>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides et
>>>> pas avec les valeurs d'erreur.
>>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
>>>> vois pas comment. PEut être d'autres formulistes aguerris y parviendront.
>>>> Misange migrateuse
>>>> XlWiki : Participez à un travail collaboratif sur excel !
>>>> http://xlwiki.free.fr/wiki
>>>> http://www.excelabo.net
>>>>
>>>> smr78 a écrit :
>>>>> Bonjour,
>>>>>
>>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax par
>>>>> exemple afin d'en calculer la pente par la formule
>>>>> =INDEX(DROITEREG(A1:Ax);1)
>>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer par un
>>>>> nom de plage)
>>>>>
>>>>> Le problème est que la plage contient pas mal de valeurs vides qui influent
>>>>> beaucoup sur la pente.
>>>>>
>>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une plage
>>>>> qui serait la plage d'origine sans les valeurs inférieures à un critère (de
>>>>> préférence situé dans une cellule B1 par ex.)
>>>>>
>>>>> j'ai essayé qqchose comme
>>>>>
>>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
>>>>>
>>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas trouvé
>>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou supérieure à un
>>>>> critère!
>>>>>
>>>>> Merci par avance
>>>>>
>>>>> Cordialement
smr78 a écrit :
> comme dit snoopy, les compliments n'ont jamais fait de mal.
:-)
J'ai eu longtemps sur la porte de mon labo un poster de snoopy avec
cette phrase précisément, façon claire de dire à mon patron de l'époque
qu'il ne lui était pas interdit de dire quand il était satisfait
puisqu'il ne se privait jamais de dire quand il ne l'était pas...
>
> d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB, mais
> je préfère les formules car les utilsateurs sont en général affolés de voir
> le message d'alerte au chargement "accepter les macros?"
Certes mais il faut aussi expliquer aux utilisateurs que les macros ce
n'est pas des virus. Que pour accéder à des fonctions évoluées, il faut
aussi évoluer soi même et s'éduquer.
>
> Pour Fredo P, plus bas dans l'aide il est écrit :
>
> Pente :
> =INDEX(DROITEREG(y_connus; x_connus); 1)
>
> je me sers donc de cette formule
> Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
> une matrice de données d'entrée
droitereg(plageY;plageX) renvoie directement la pente que tu cherches,
nul besoin dans le cas présent de passer par une recherche avec index de
la position de la pente dans la matrice de résultat. Ceci n'est vrai que
parce que la pente est la première valeur renvoyée par la matrice.
En revanche si tu veux l'ordonnée à l'origine, ou le coeff de
régression, la tu as absolument besoin soit de saisir plusuers cellules
et de valider en matricielle, soit de récupérer avec index la position
de ces deux paramètres dans la matrice de résultats.
J'ai fait un classeur exemple que tu trouveras sur excelabo
(fc-regression). Mais il ne traite pas de ce que tu cherches, à savoir
éliminer les valeurs non encore renseignées ou fausses dans les données.
>
> Merci encore
>
> "Misange" a écrit :
>
>> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
>> facilement ni rapidement ! la logique macro m'a toujours semblée plus
>> facile à suivre même si les formules sont plus rapides.
>> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
>> tu auras une chance de plus ;-)
>> tu peux assez facilement faire une macro qui se déclenche au changement
>> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
>> tout seul
>> reviens au besoin mais là je décroche !
>> Misange migrateuse
>> XlWiki : Participez à un travail collaboratif sur excel !
>> http://xlwiki.free.fr/wiki
>> http://www.excelabo.net
>>
>> smr78 a écrit :
>>> Bonsoir,
>>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
>>> Je suis déçu (d'Excel, pas de Misange).
>>> Il va falloir que je fasse un tri dynamique car les valeurs sont
>>> susceptibles de changer tous les jours et je ne veux pas demander à
>>> l'utilisateur de faire un tri manuel, au risque de tout casser.
>>> Merci encore
>>> Cordialement
>>>
>>> "Misange" a écrit :
>>>
>>>> Bonsoir
>>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
>>>> tableau.
>>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
>>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides et
>>>> pas avec les valeurs d'erreur.
>>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
>>>> vois pas comment. PEut être d'autres formulistes aguerris y parviendront.
>>>> Misange migrateuse
>>>> XlWiki : Participez à un travail collaboratif sur excel !
>>>> http://xlwiki.free.fr/wiki
>>>> http://www.excelabo.net
>>>>
>>>> smr78 a écrit :
>>>>> Bonjour,
>>>>>
>>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax par
>>>>> exemple afin d'en calculer la pente par la formule
>>>>> =INDEX(DROITEREG(A1:Ax);1)
>>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer par un
>>>>> nom de plage)
>>>>>
>>>>> Le problème est que la plage contient pas mal de valeurs vides qui influent
>>>>> beaucoup sur la pente.
>>>>>
>>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une plage
>>>>> qui serait la plage d'origine sans les valeurs inférieures à un critère (de
>>>>> préférence situé dans une cellule B1 par ex.)
>>>>>
>>>>> j'ai essayé qqchose comme
>>>>>
>>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
>>>>>
>>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas trouvé
>>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou supérieure à un
>>>>> critère!
>>>>>
>>>>> Merci par avance
>>>>>
>>>>> Cordialement
smr78 a écrit :
> comme dit snoopy, les compliments n'ont jamais fait de mal.
:-)
J'ai eu longtemps sur la porte de mon labo un poster de snoopy avec
cette phrase précisément, façon claire de dire à mon patron de l'époque
qu'il ne lui était pas interdit de dire quand il était satisfait
puisqu'il ne se privait jamais de dire quand il ne l'était pas...
>
> d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB, mais
> je préfère les formules car les utilsateurs sont en général affolés de voir
> le message d'alerte au chargement "accepter les macros?"
Certes mais il faut aussi expliquer aux utilisateurs que les macros ce
n'est pas des virus. Que pour accéder à des fonctions évoluées, il faut
aussi évoluer soi même et s'éduquer.
>
> Pour Fredo P, plus bas dans l'aide il est écrit :
>
> Pente :
> =INDEX(DROITEREG(y_connus; x_connus); 1)
>
> je me sers donc de cette formule
> Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
> une matrice de données d'entrée
droitereg(plageY;plageX) renvoie directement la pente que tu cherches,
nul besoin dans le cas présent de passer par une recherche avec index de
la position de la pente dans la matrice de résultat. Ceci n'est vrai que
parce que la pente est la première valeur renvoyée par la matrice.
En revanche si tu veux l'ordonnée à l'origine, ou le coeff de
régression, la tu as absolument besoin soit de saisir plusuers cellules
et de valider en matricielle, soit de récupérer avec index la position
de ces deux paramètres dans la matrice de résultats.
J'ai fait un classeur exemple que tu trouveras sur excelabo
(fc-regression). Mais il ne traite pas de ce que tu cherches, à savoir
éliminer les valeurs non encore renseignées ou fausses dans les données.
>
> Merci encore
>
> "Misange" a écrit :
>
>> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
>> facilement ni rapidement ! la logique macro m'a toujours semblée plus
>> facile à suivre même si les formules sont plus rapides.
>> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
>> tu auras une chance de plus ;-)
>> tu peux assez facilement faire une macro qui se déclenche au changement
>> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
>> tout seul
>> reviens au besoin mais là je décroche !
>> Misange migrateuse
>> XlWiki : Participez à un travail collaboratif sur excel !
>> http://xlwiki.free.fr/wiki
>> http://www.excelabo.net
>>
>> smr78 a écrit :
>>> Bonsoir,
>>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
>>> Je suis déçu (d'Excel, pas de Misange).
>>> Il va falloir que je fasse un tri dynamique car les valeurs sont
>>> susceptibles de changer tous les jours et je ne veux pas demander à
>>> l'utilisateur de faire un tri manuel, au risque de tout casser.
>>> Merci encore
>>> Cordialement
>>>
>>> "Misange" a écrit :
>>>
>>>> Bonsoir
>>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
>>>> tableau.
>>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
>>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides et
>>>> pas avec les valeurs d'erreur.
>>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
>>>> vois pas comment. PEut être d'autres formulistes aguerris y parviendront.
>>>> Misange migrateuse
>>>> XlWiki : Participez à un travail collaboratif sur excel !
>>>> http://xlwiki.free.fr/wiki
>>>> http://www.excelabo.net
>>>>
>>>> smr78 a écrit :
>>>>> Bonjour,
>>>>>
>>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax par
>>>>> exemple afin d'en calculer la pente par la formule
>>>>> =INDEX(DROITEREG(A1:Ax);1)
>>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer par un
>>>>> nom de plage)
>>>>>
>>>>> Le problème est que la plage contient pas mal de valeurs vides qui influent
>>>>> beaucoup sur la pente.
>>>>>
>>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une plage
>>>>> qui serait la plage d'origine sans les valeurs inférieures à un critère (de
>>>>> préférence situé dans une cellule B1 par ex.)
>>>>>
>>>>> j'ai essayé qqchose comme
>>>>>
>>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
>>>>>
>>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas trouvé
>>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou supérieure à un
>>>>> critère!
>>>>>
>>>>> Merci par avance
>>>>>
>>>>> Cordialement
Merci Misange, c'est vrai et juste.
je n'avais fait que bêtement suivre la méthode de l'aide Excel qui donnait
cette formule pour avoir la pente. Il est vrai aussi que dans cette même
aide, le coef m figure bien dans le coin gauche du tableau donné en exemple.
"Misange" a écrit :
>
>
> smr78 a écrit :
> > comme dit snoopy, les compliments n'ont jamais fait de mal.
> :-)
> J'ai eu longtemps sur la porte de mon labo un poster de snoopy avec
> cette phrase précisément, façon claire de dire à mon patron de l'époque
> qu'il ne lui était pas interdit de dire quand il était satisfait
> puisqu'il ne se privait jamais de dire quand il ne l'était pas...
>
> >
> > d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB, mais
> > je préfère les formules car les utilsateurs sont en général affolés de voir
> > le message d'alerte au chargement "accepter les macros?"
>
> Certes mais il faut aussi expliquer aux utilisateurs que les macros ce
> n'est pas des virus. Que pour accéder à des fonctions évoluées, il faut
> aussi évoluer soi même et s'éduquer.
>
> >
> > Pour Fredo P, plus bas dans l'aide il est écrit :
> >
> > Pente :
> > =INDEX(DROITEREG(y_connus; x_connus); 1)
> >
> > je me sers donc de cette formule
> > Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
> > une matrice de données d'entrée
>
> droitereg(plageY;plageX) renvoie directement la pente que tu cherches,
> nul besoin dans le cas présent de passer par une recherche avec index de
> la position de la pente dans la matrice de résultat. Ceci n'est vrai que
> parce que la pente est la première valeur renvoyée par la matrice.
>
> En revanche si tu veux l'ordonnée à l'origine, ou le coeff de
> régression, la tu as absolument besoin soit de saisir plusuers cellules
> et de valider en matricielle, soit de récupérer avec index la position
> de ces deux paramètres dans la matrice de résultats.
>
> J'ai fait un classeur exemple que tu trouveras sur excelabo
> (fc-regression). Mais il ne traite pas de ce que tu cherches, à savoir
> éliminer les valeurs non encore renseignées ou fausses dans les données.
>
>
> >
> > Merci encore
> >
> > "Misange" a écrit :
> >
> >> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
> >> facilement ni rapidement ! la logique macro m'a toujours semblée plus
> >> facile à suivre même si les formules sont plus rapides.
> >> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
> >> tu auras une chance de plus ;-)
> >> tu peux assez facilement faire une macro qui se déclenche au changement
> >> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
> >> tout seul
> >> reviens au besoin mais là je décroche !
> >> Misange migrateuse
> >> XlWiki : Participez à un travail collaboratif sur excel !
> >> http://xlwiki.free.fr/wiki
> >> http://www.excelabo.net
> >>
> >> smr78 a écrit :
> >>> Bonsoir,
> >>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
> >>> Je suis déçu (d'Excel, pas de Misange).
> >>> Il va falloir que je fasse un tri dynamique car les valeurs sont
> >>> susceptibles de changer tous les jours et je ne veux pas demander à
> >>> l'utilisateur de faire un tri manuel, au risque de tout casser.
> >>> Merci encore
> >>> Cordialement
> >>>
> >>> "Misange" a écrit :
> >>>
> >>>> Bonsoir
> >>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
> >>>> tableau.
> >>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
> >>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides et
> >>>> pas avec les valeurs d'erreur.
> >>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
> >>>> vois pas comment. PEut être d'autres formulistes aguerris y parviendront.
> >>>> Misange migrateuse
> >>>> XlWiki : Participez à un travail collaboratif sur excel !
> >>>> http://xlwiki.free.fr/wiki
> >>>> http://www.excelabo.net
> >>>>
> >>>> smr78 a écrit :
> >>>>> Bonjour,
> >>>>>
> >>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax par
> >>>>> exemple afin d'en calculer la pente par la formule
> >>>>> =INDEX(DROITEREG(A1:Ax);1)
> >>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer par un
> >>>>> nom de plage)
> >>>>>
> >>>>> Le problème est que la plage contient pas mal de valeurs vides qui influent
> >>>>> beaucoup sur la pente.
> >>>>>
> >>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une plage
> >>>>> qui serait la plage d'origine sans les valeurs inférieures à un critère (de
> >>>>> préférence situé dans une cellule B1 par ex.)
> >>>>>
> >>>>> j'ai essayé qqchose comme
> >>>>>
> >>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
> >>>>>
> >>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas trouvé
> >>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou supérieure à un
> >>>>> critère!
> >>>>>
> >>>>> Merci par avance
> >>>>>
> >>>>> Cordialement
>
Merci Misange, c'est vrai et juste.
je n'avais fait que bêtement suivre la méthode de l'aide Excel qui donnait
cette formule pour avoir la pente. Il est vrai aussi que dans cette même
aide, le coef m figure bien dans le coin gauche du tableau donné en exemple.
"Misange" a écrit :
>
>
> smr78 a écrit :
> > comme dit snoopy, les compliments n'ont jamais fait de mal.
> :-)
> J'ai eu longtemps sur la porte de mon labo un poster de snoopy avec
> cette phrase précisément, façon claire de dire à mon patron de l'époque
> qu'il ne lui était pas interdit de dire quand il était satisfait
> puisqu'il ne se privait jamais de dire quand il ne l'était pas...
>
> >
> > d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB, mais
> > je préfère les formules car les utilsateurs sont en général affolés de voir
> > le message d'alerte au chargement "accepter les macros?"
>
> Certes mais il faut aussi expliquer aux utilisateurs que les macros ce
> n'est pas des virus. Que pour accéder à des fonctions évoluées, il faut
> aussi évoluer soi même et s'éduquer.
>
> >
> > Pour Fredo P, plus bas dans l'aide il est écrit :
> >
> > Pente :
> > =INDEX(DROITEREG(y_connus; x_connus); 1)
> >
> > je me sers donc de cette formule
> > Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
> > une matrice de données d'entrée
>
> droitereg(plageY;plageX) renvoie directement la pente que tu cherches,
> nul besoin dans le cas présent de passer par une recherche avec index de
> la position de la pente dans la matrice de résultat. Ceci n'est vrai que
> parce que la pente est la première valeur renvoyée par la matrice.
>
> En revanche si tu veux l'ordonnée à l'origine, ou le coeff de
> régression, la tu as absolument besoin soit de saisir plusuers cellules
> et de valider en matricielle, soit de récupérer avec index la position
> de ces deux paramètres dans la matrice de résultats.
>
> J'ai fait un classeur exemple que tu trouveras sur excelabo
> (fc-regression). Mais il ne traite pas de ce que tu cherches, à savoir
> éliminer les valeurs non encore renseignées ou fausses dans les données.
>
>
> >
> > Merci encore
> >
> > "Misange" a écrit :
> >
> >> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
> >> facilement ni rapidement ! la logique macro m'a toujours semblée plus
> >> facile à suivre même si les formules sont plus rapides.
> >> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
> >> tu auras une chance de plus ;-)
> >> tu peux assez facilement faire une macro qui se déclenche au changement
> >> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
> >> tout seul
> >> reviens au besoin mais là je décroche !
> >> Misange migrateuse
> >> XlWiki : Participez à un travail collaboratif sur excel !
> >> http://xlwiki.free.fr/wiki
> >> http://www.excelabo.net
> >>
> >> smr78 a écrit :
> >>> Bonsoir,
> >>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
> >>> Je suis déçu (d'Excel, pas de Misange).
> >>> Il va falloir que je fasse un tri dynamique car les valeurs sont
> >>> susceptibles de changer tous les jours et je ne veux pas demander à
> >>> l'utilisateur de faire un tri manuel, au risque de tout casser.
> >>> Merci encore
> >>> Cordialement
> >>>
> >>> "Misange" a écrit :
> >>>
> >>>> Bonsoir
> >>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
> >>>> tableau.
> >>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
> >>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides et
> >>>> pas avec les valeurs d'erreur.
> >>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
> >>>> vois pas comment. PEut être d'autres formulistes aguerris y parviendront.
> >>>> Misange migrateuse
> >>>> XlWiki : Participez à un travail collaboratif sur excel !
> >>>> http://xlwiki.free.fr/wiki
> >>>> http://www.excelabo.net
> >>>>
> >>>> smr78 a écrit :
> >>>>> Bonjour,
> >>>>>
> >>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax par
> >>>>> exemple afin d'en calculer la pente par la formule
> >>>>> =INDEX(DROITEREG(A1:Ax);1)
> >>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer par un
> >>>>> nom de plage)
> >>>>>
> >>>>> Le problème est que la plage contient pas mal de valeurs vides qui influent
> >>>>> beaucoup sur la pente.
> >>>>>
> >>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une plage
> >>>>> qui serait la plage d'origine sans les valeurs inférieures à un critère (de
> >>>>> préférence situé dans une cellule B1 par ex.)
> >>>>>
> >>>>> j'ai essayé qqchose comme
> >>>>>
> >>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
> >>>>>
> >>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas trouvé
> >>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou supérieure à un
> >>>>> critère!
> >>>>>
> >>>>> Merci par avance
> >>>>>
> >>>>> Cordialement
>
Merci Misange, c'est vrai et juste.
je n'avais fait que bêtement suivre la méthode de l'aide Excel qui donnait
cette formule pour avoir la pente. Il est vrai aussi que dans cette même
aide, le coef m figure bien dans le coin gauche du tableau donné en exemple.
"Misange" a écrit :
>
>
> smr78 a écrit :
> > comme dit snoopy, les compliments n'ont jamais fait de mal.
> :-)
> J'ai eu longtemps sur la porte de mon labo un poster de snoopy avec
> cette phrase précisément, façon claire de dire à mon patron de l'époque
> qu'il ne lui était pas interdit de dire quand il était satisfait
> puisqu'il ne se privait jamais de dire quand il ne l'était pas...
>
> >
> > d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB, mais
> > je préfère les formules car les utilsateurs sont en général affolés de voir
> > le message d'alerte au chargement "accepter les macros?"
>
> Certes mais il faut aussi expliquer aux utilisateurs que les macros ce
> n'est pas des virus. Que pour accéder à des fonctions évoluées, il faut
> aussi évoluer soi même et s'éduquer.
>
> >
> > Pour Fredo P, plus bas dans l'aide il est écrit :
> >
> > Pente :
> > =INDEX(DROITEREG(y_connus; x_connus); 1)
> >
> > je me sers donc de cette formule
> > Ok la formule renvoie une matice, mais c'est une matrice de résultats, pas
> > une matrice de données d'entrée
>
> droitereg(plageY;plageX) renvoie directement la pente que tu cherches,
> nul besoin dans le cas présent de passer par une recherche avec index de
> la position de la pente dans la matrice de résultat. Ceci n'est vrai que
> parce que la pente est la première valeur renvoyée par la matrice.
>
> En revanche si tu veux l'ordonnée à l'origine, ou le coeff de
> régression, la tu as absolument besoin soit de saisir plusuers cellules
> et de valider en matricielle, soit de récupérer avec index la position
> de ces deux paramètres dans la matrice de résultats.
>
> J'ai fait un classeur exemple que tu trouveras sur excelabo
> (fc-regression). Mais il ne traite pas de ce que tu cherches, à savoir
> éliminer les valeurs non encore renseignées ou fausses dans les données.
>
>
> >
> > Merci encore
> >
> > "Misange" a écrit :
> >
> >> tu me flattes mais détrompes toi, les formules ne me viennent pas ni
> >> facilement ni rapidement ! la logique macro m'a toujours semblée plus
> >> facile à suivre même si les formules sont plus rapides.
> >> donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
> >> tu auras une chance de plus ;-)
> >> tu peux assez facilement faire une macro qui se déclenche au changement
> >> d'une des cellules de tes deux colonnes de sorte que le tri se fasse
> >> tout seul
> >> reviens au besoin mais là je décroche !
> >> Misange migrateuse
> >> XlWiki : Participez à un travail collaboratif sur excel !
> >> http://xlwiki.free.fr/wiki
> >> http://www.excelabo.net
> >>
> >> smr78 a écrit :
> >>> Bonsoir,
> >>> Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
> >>> Je suis déçu (d'Excel, pas de Misange).
> >>> Il va falloir que je fasse un tri dynamique car les valeurs sont
> >>> susceptibles de changer tous les jours et je ne veux pas demander à
> >>> l'utilisateur de faire un tri manuel, au risque de tout casser.
> >>> Merci encore
> >>> Cordialement
> >>>
> >>> "Misange" a écrit :
> >>>
> >>>> Bonsoir
> >>>> si tu as des valeurs vides dans tes données, il te suffit de trier le
> >>>> tableau.
> >>>> Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
> >>>> mais cela ne fonctionne que si tes cellules vides sont vraiment vides et
> >>>> pas avec les valeurs d'erreur.
> >>>> mais avec une formule sans passer par un tableau intermédiaire, je ne
> >>>> vois pas comment. PEut être d'autres formulistes aguerris y parviendront.
> >>>> Misange migrateuse
> >>>> XlWiki : Participez à un travail collaboratif sur excel !
> >>>> http://xlwiki.free.fr/wiki
> >>>> http://www.excelabo.net
> >>>>
> >>>> smr78 a écrit :
> >>>>> Bonjour,
> >>>>>
> >>>>> Je calcule la droite linéaire sur une série venant d'une plage A1:Ax par
> >>>>> exemple afin d'en calculer la pente par la formule
> >>>>> =INDEX(DROITEREG(A1:Ax);1)
> >>>>> (Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer par un
> >>>>> nom de plage)
> >>>>>
> >>>>> Le problème est que la plage contient pas mal de valeurs vides qui influent
> >>>>> beaucoup sur la pente.
> >>>>>
> >>>>> Comment pourrai-je générer une matrice, un ensemble de valeurs ou une plage
> >>>>> qui serait la plage d'origine sans les valeurs inférieures à un critère (de
> >>>>> préférence situé dans une cellule B1 par ex.)
> >>>>>
> >>>>> j'ai essayé qqchose comme
> >>>>>
> >>>>> =INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
> >>>>>
> >>>>> Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas trouvé
> >>>>> d'exemple sur le Net pour extraire les valeurs non nulles ou supérieure à un
> >>>>> critère!
> >>>>>
> >>>>> Merci par avance
> >>>>>
> >>>>> Cordialement
>
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" a écrit dans le message de
news:comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats,
pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou
une plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :
ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" <smr78@discussions.microsoft.com> a écrit dans le message de
news: 5A34471E-0B07-4FB6-A065-803AC7549B49@microsoft.com...
comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats,
pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :
tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :
Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :
Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :
Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou
une plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" a écrit dans le message de
news:comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats,
pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou
une plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
Pas essayée
=DROITEREG((A1:A170>0)*A1:A170;(A1:A170>0)*B1:B170;1;1)
"Misange" a écrit dans le message de news:Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" a écrit dans le message de
news:comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats,
pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou
une plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
Pas essayée
=DROITEREG((A1:A170>0)*A1:A170;(A1:A170>0)*B1:B170;1;1)
"Misange" <misange@monsite.net> a écrit dans le message de news:
OVUV5PXFJHA.1460@TK2MSFTNGP03.phx.gbl...
Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :
ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" <smr78@discussions.microsoft.com> a écrit dans le message de
news: 5A34471E-0B07-4FB6-A065-803AC7549B49@microsoft.com...
comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats,
pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :
tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :
Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :
Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :
Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou
une plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
Pas essayée
=DROITEREG((A1:A170>0)*A1:A170;(A1:A170>0)*B1:B170;1;1)
"Misange" a écrit dans le message de news:Bonjour
Ta formule "fonctionne" dans le sens qu'elle renvoie une valeur. Mais
cette valeur est fausse.
Construis le simple exemple suivant : en colonne A 1, 2 3 4, en colonne B
1, 2 3 4
La pente de la droite est 1.
Admettons que je n'aie pas encore la valeur de y pour x= 3. La pente de la
droite ne doit pas changer. Avec toute formule qui ne modifie que la plage
des y pour ne prendre en compte que les valeurs non nulles ou qui ne sont
pas en erreur, et qui n'ajuste pas la plage des x correspondante, le
résultat renvoyé sera faux.
Droitereg est en fait une fonction matricielle.
Si on l'écrit sous sa forme complète
=droitereg(plageY;plageX;0;1)
elle renvoie une matrice qui contient toutes les valeurs statistiques
décrivant cette droite de régression.
Pour récupérer ces valeurs il faut saisir une plage de 6 cellules avant de
saisir la formule.
Si on la rentre dans une seule cellule, la formule renvoie la valeur
contenue dans l'angle supérieur gauche de la matrice, ce qui dans le cas
présent nous arrange bien puisque c'est la pente de la droite. Cela dit,
cette fonction reste une fonction matricielle même si on ne la saisit pas
avec ctrl+maj+ent puisqu'elle travaille avec des plages comme arguments.
La difficulté ici ce n'est pas d'exclure dans les valeurs de Y celles qui
sont en erreur ou vides (0 est une valeur tout à fait acceptable dans une
droite de reg !!). C'est d'exclure en même temps la valeur de X
correspondante. Ca revient à évaluer des matrices à l'intérieur d'une
matrice. Ca je sais pas faire.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Fredo P a écrit :ReB smr78
Celle-ci ne mets plus "Valeurs", reste à contrôler le résultat
=DROITEREG((A1:A170>0)*A1:A170;(B1:B170>0)*B1:B170;1;1)
"smr78" a écrit dans le message de
news:comme dit snoopy, les compliments n'ont jamais fait de mal.
d'accord, les macros peuvent tout faire, je fais pas mal de VBA et VB,
mais
je préfère les formules car les utilsateurs sont en général affolés de
voir
le message d'alerte au chargement "accepter les macros?"
Pour Fredo P, plus bas dans l'aide il est écrit :
Pente :
=INDEX(DROITEREG(y_connus; x_connus); 1)
je me sers donc de cette formule
Ok la formule renvoie une matice, mais c'est une matrice de résultats,
pas
une matrice de données d'entrée
Merci encore
"Misange" a écrit :tu me flattes mais détrompes toi, les formules ne me viennent pas ni
facilement ni rapidement ! la logique macro m'a toujours semblée plus
facile à suivre même si les formules sont plus rapides.
donc si un AV, un ChrisV notamment parmi bien d'autres passent par là,
tu auras une chance de plus ;-)
tu peux assez facilement faire une macro qui se déclenche au changement
d'une des cellules de tes deux colonnes de sorte que le tri se fasse
tout seul
reviens au besoin mais là je décroche !
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonsoir,
Woaaouh, si Miss ange sèche, pas la peine que je cherche plus loin.
Je suis déçu (d'Excel, pas de Misange).
Il va falloir que je fasse un tri dynamique car les valeurs sont
susceptibles de changer tous les jours et je ne veux pas demander à
l'utilisateur de faire un tri manuel, au risque de tout casser.
Merci encore
Cordialement
"Misange" a écrit :Bonsoir
si tu as des valeurs vides dans tes données, il te suffit de trier le
tableau.
Tu définis ensuite tes séries x et y avec Þcaler(A1;;;nbval($A:$A))
mais cela ne fonctionne que si tes cellules vides sont vraiment vides
et
pas avec les valeurs d'erreur.
mais avec une formule sans passer par un tableau intermédiaire, je ne
vois pas comment. PEut être d'autres formulistes aguerris y
parviendront.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
smr78 a écrit :Bonjour,
Je calcule la droite linéaire sur une série venant d'une plage A1:Ax
par
exemple afin d'en calculer la pente par la formule
=INDEX(DROITEREG(A1:Ax);1)
(Ax vaut A170 dans mon cas, mais ça peut varier, je saurai remplacer
par un
nom de plage)
Le problème est que la plage contient pas mal de valeurs vides qui
influent
beaucoup sur la pente.
Comment pourrai-je générer une matrice, un ensemble de valeurs ou
une plage
qui serait la plage d'origine sans les valeurs inférieures à un
critère (de
préférence situé dans une cellule B1 par ex.)
j'ai essayé qqchose comme
=INDEX(DROITEREG(A1:A170>0);1) mais ça plante évidemment
Je pense à utiliser la fameuse fonction DECALER, mais je n'ai pas
trouvé
d'exemple sur le Net pour extraire les valeurs non nulles ou
supérieure à un
critère!
Merci par avance
Cordialement
> =DROITEREG((B1:B4>0)*B1:B4;(B1:B4>0)*A1:A4)
Elle renvoie bien 10
mais si tu effaces 35 et 45, elle renvoie 13,48 et non plus 10...
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
> =DROITEREG((B1:B4>0)*B1:B4;(B1:B4>0)*A1:A4)
Elle renvoie bien 10
mais si tu effaces 35 et 45, elle renvoie 13,48 et non plus 10...
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
> =DROITEREG((B1:B4>0)*B1:B4;(B1:B4>0)*A1:A4)
Elle renvoie bien 10
mais si tu effaces 35 et 45, elle renvoie 13,48 et non plus 10...
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
=DROITEREG((B1:B4>0)*B1:B4;(B1:B4>0)*A1:A4)
Elle renvoie bien 10
mais si tu effaces 35 et 45, elle renvoie 13,48 et non plus 10...
Je ne voudrais pas abuser, c'est un peu abstrait pour moi, (un manque de
pratique), dans cette condition, comment peut elle trouver 10 alors qu'elle
n'a plus que 25 et 55 comme données?Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
=DROITEREG((B1:B4>0)*B1:B4;(B1:B4>0)*A1:A4)
Elle renvoie bien 10
mais si tu effaces 35 et 45, elle renvoie 13,48 et non plus 10...
Je ne voudrais pas abuser, c'est un peu abstrait pour moi, (un manque de
pratique), dans cette condition, comment peut elle trouver 10 alors qu'elle
n'a plus que 25 et 55 comme données?
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
=DROITEREG((B1:B4>0)*B1:B4;(B1:B4>0)*A1:A4)
Elle renvoie bien 10
mais si tu effaces 35 et 45, elle renvoie 13,48 et non plus 10...
Je ne voudrais pas abuser, c'est un peu abstrait pour moi, (un manque de
pratique), dans cette condition, comment peut elle trouver 10 alors qu'elle
n'a plus que 25 et 55 comme données?Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net