Bonjour,
Comme Lsteph ne veut pas se mouiller...
;-))
Voici une explication :
| {=SOMME(INDEX({2;3;4;5};{1;2;3}))}
Habituellement, lorsque l'on demande une validation matricielle,
Excel passe par un "Tableau (array)" intermédiaire pour résoudre
la formule.
La formule que tu proposes, cette section génère déjà un tableau
= INDEX({2;3;4;5};{1;2;3}) (nul besoin de faire une validation matricielle
pour générer ce tableau). Pour t'en convaincre, tu entres la formule
dans une cellule et tu appuies sur le bouton fx de la barre des formules.
Observe les accolades qui entourent le chiffre {2} comme réponse.
Par conséquent, Excel ne peut pas utiliser un tableau comme intermédiaire...
la fonction index() génère d'elle-même un tableau pour chacune des valeurs
qu'elle trouve. Normalement, chaque valeur intermédiaire représente un
item d'un tableau et non un tableau en soi. Résultat : pour afficher chaque
résultat du tableau, Excel a besoin d'autant de cellules qu'il y a de tableaux
dans le tableau.
Dans l'exemple, si on sélectionne 3 cellules (A1:A3) et que l'on
entre la formule en A1, avec une validation matricielle
on obtiendra dans chacune des cellules le résultat de chacun
des tableaux générés.
MichD
--------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : iffiaa$n40$
Bonjour,
Finalement ce petit truc que j'ai soulevé dans la file "Validation NAS"
me trotte un peu dans la tête
A savoir pourquoi la formule (matricielle)
{=SOMME(INDEX({2;3;4;5};{1;2;3}))} renvoie 2 et pas 2+3+4 = 9
(ou SOMMEPROD)
c'est à dire qu'elle agit comme si j'avais écris =INDEX({2;3;4;5};1)
(Par ailleurs et pour une question bonus subsidiaire on obtient 9 en
utilisant sommeprod et en validant sur 3 cellules, comment se fait-il
que le résultat validé sur 3 cellules donne pour la première cellule un
résultat différent de la même formule validée sur une seule cellule ?)
Bonjour,
Comme Lsteph ne veut pas se mouiller...
;-))
Voici une explication :
| {=SOMME(INDEX({2;3;4;5};{1;2;3}))}
Habituellement, lorsque l'on demande une validation matricielle,
Excel passe par un "Tableau (array)" intermédiaire pour résoudre
la formule.
La formule que tu proposes, cette section génère déjà un tableau
= INDEX({2;3;4;5};{1;2;3}) (nul besoin de faire une validation matricielle
pour générer ce tableau). Pour t'en convaincre, tu entres la formule
dans une cellule et tu appuies sur le bouton fx de la barre des formules.
Observe les accolades qui entourent le chiffre {2} comme réponse.
Par conséquent, Excel ne peut pas utiliser un tableau comme intermédiaire...
la fonction index() génère d'elle-même un tableau pour chacune des valeurs
qu'elle trouve. Normalement, chaque valeur intermédiaire représente un
item d'un tableau et non un tableau en soi. Résultat : pour afficher chaque
résultat du tableau, Excel a besoin d'autant de cellules qu'il y a de tableaux
dans le tableau.
Dans l'exemple, si on sélectionne 3 cellules (A1:A3) et que l'on
entre la formule en A1, avec une validation matricielle
on obtiendra dans chacune des cellules le résultat de chacun
des tableaux générés.
MichD
--------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : iffiaa$n40$1@writer.imaginet.fr...
Bonjour,
Finalement ce petit truc que j'ai soulevé dans la file "Validation NAS"
me trotte un peu dans la tête
A savoir pourquoi la formule (matricielle)
{=SOMME(INDEX({2;3;4;5};{1;2;3}))} renvoie 2 et pas 2+3+4 = 9
(ou SOMMEPROD)
c'est à dire qu'elle agit comme si j'avais écris =INDEX({2;3;4;5};1)
(Par ailleurs et pour une question bonus subsidiaire on obtient 9 en
utilisant sommeprod et en validant sur 3 cellules, comment se fait-il
que le résultat validé sur 3 cellules donne pour la première cellule un
résultat différent de la même formule validée sur une seule cellule ?)
Bonjour,
Comme Lsteph ne veut pas se mouiller...
;-))
Voici une explication :
| {=SOMME(INDEX({2;3;4;5};{1;2;3}))}
Habituellement, lorsque l'on demande une validation matricielle,
Excel passe par un "Tableau (array)" intermédiaire pour résoudre
la formule.
La formule que tu proposes, cette section génère déjà un tableau
= INDEX({2;3;4;5};{1;2;3}) (nul besoin de faire une validation matricielle
pour générer ce tableau). Pour t'en convaincre, tu entres la formule
dans une cellule et tu appuies sur le bouton fx de la barre des formules.
Observe les accolades qui entourent le chiffre {2} comme réponse.
Par conséquent, Excel ne peut pas utiliser un tableau comme intermédiaire...
la fonction index() génère d'elle-même un tableau pour chacune des valeurs
qu'elle trouve. Normalement, chaque valeur intermédiaire représente un
item d'un tableau et non un tableau en soi. Résultat : pour afficher chaque
résultat du tableau, Excel a besoin d'autant de cellules qu'il y a de tableaux
dans le tableau.
Dans l'exemple, si on sélectionne 3 cellules (A1:A3) et que l'on
entre la formule en A1, avec une validation matricielle
on obtiendra dans chacune des cellules le résultat de chacun
des tableaux générés.
MichD
--------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : iffiaa$n40$
Bonjour,
Finalement ce petit truc que j'ai soulevé dans la file "Validation NAS"
me trotte un peu dans la tête
A savoir pourquoi la formule (matricielle)
{=SOMME(INDEX({2;3;4;5};{1;2;3}))} renvoie 2 et pas 2+3+4 = 9
(ou SOMMEPROD)
c'est à dire qu'elle agit comme si j'avais écris =INDEX({2;3;4;5};1)
(Par ailleurs et pour une question bonus subsidiaire on obtient 9 en
utilisant sommeprod et en validant sur 3 cellules, comment se fait-il
que le résultat validé sur 3 cellules donne pour la première cellule un
résultat différent de la même formule validée sur une seule cellule ?)
Bonjour,
Comme Lsteph ne veut pas se mouiller...
;-))
Voici une explication :
| {=SOMME(INDEX({2;3;4;5};{1;2;3}))}
Habituellement, lorsque l'on demande une validation matricielle,
Excel passe par un "Tableau (array)" intermédiaire pour résoudre
la formule.
La formule que tu proposes, cette section génère déjà un tableau
= INDEX({2;3;4;5};{1;2;3}) (nul besoin de faire une validation matricielle
pour générer ce tableau). Pour t'en convaincre, tu entres la formule
dans une cellule et tu appuies sur le bouton fx de la barre des formules.
Observe les accolades qui entourent le chiffre {2} comme réponse.
Par conséquent, Excel ne peut pas utiliser un tableau comme intermédiaire...
la fonction index() génère d'elle-même un tableau pour chacune des valeurs
qu'elle trouve. Normalement, chaque valeur intermédiaire représente un
item d'un tableau et non un tableau en soi. Résultat : pour afficher chaque
résultat du tableau, Excel a besoin d'autant de cellules qu'il y a de tableaux
dans le tableau.
Dans l'exemple, si on sélectionne 3 cellules (A1:A3) et que l'on
entre la formule en A1, avec une validation matricielle
on obtiendra dans chacune des cellules le résultat de chacun
des tableaux générés.
MichD
--------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : iffiaa$n40$
Bonjour,
Finalement ce petit truc que j'ai soulevé dans la file "Validation NAS"
me trotte un peu dans la tête
A savoir pourquoi la formule (matricielle)
{=SOMME(INDEX({2;3;4;5};{1;2;3}))} renvoie 2 et pas 2+3+4 = 9
(ou SOMMEPROD)
c'est à dire qu'elle agit comme si j'avais écris =INDEX({2;3;4;5};1)
(Par ailleurs et pour une question bonus subsidiaire on obtient 9 en
utilisant sommeprod et en validant sur 3 cellules, comment se fait-il
que le résultat validé sur 3 cellules donne pour la première cellule un
résultat différent de la même formule validée sur une seule cellule ?)
Bonjour,
Comme Lsteph ne veut pas se mouiller...
;-))
Voici une explication :
| {=SOMME(INDEX({2;3;4;5};{1;2;3}))}
Habituellement, lorsque l'on demande une validation matricielle,
Excel passe par un "Tableau (array)" intermédiaire pour résoudre
la formule.
La formule que tu proposes, cette section génère déjà un tableau
= INDEX({2;3;4;5};{1;2;3}) (nul besoin de faire une validation matricielle
pour générer ce tableau). Pour t'en convaincre, tu entres la formule
dans une cellule et tu appuies sur le bouton fx de la barre des formules.
Observe les accolades qui entourent le chiffre {2} comme réponse.
Par conséquent, Excel ne peut pas utiliser un tableau comme intermédiaire...
la fonction index() génère d'elle-même un tableau pour chacune des valeurs
qu'elle trouve. Normalement, chaque valeur intermédiaire représente un
item d'un tableau et non un tableau en soi. Résultat : pour afficher chaque
résultat du tableau, Excel a besoin d'autant de cellules qu'il y a de tableaux
dans le tableau.
Dans l'exemple, si on sélectionne 3 cellules (A1:A3) et que l'on
entre la formule en A1, avec une validation matricielle
on obtiendra dans chacune des cellules le résultat de chacun
des tableaux générés.
MichD
--------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : iffiaa$n40$1@writer.imaginet.fr...
Bonjour,
Finalement ce petit truc que j'ai soulevé dans la file "Validation NAS"
me trotte un peu dans la tête
A savoir pourquoi la formule (matricielle)
{=SOMME(INDEX({2;3;4;5};{1;2;3}))} renvoie 2 et pas 2+3+4 = 9
(ou SOMMEPROD)
c'est à dire qu'elle agit comme si j'avais écris =INDEX({2;3;4;5};1)
(Par ailleurs et pour une question bonus subsidiaire on obtient 9 en
utilisant sommeprod et en validant sur 3 cellules, comment se fait-il
que le résultat validé sur 3 cellules donne pour la première cellule un
résultat différent de la même formule validée sur une seule cellule ?)
Bonjour,
Comme Lsteph ne veut pas se mouiller...
;-))
Voici une explication :
| {=SOMME(INDEX({2;3;4;5};{1;2;3}))}
Habituellement, lorsque l'on demande une validation matricielle,
Excel passe par un "Tableau (array)" intermédiaire pour résoudre
la formule.
La formule que tu proposes, cette section génère déjà un tableau
= INDEX({2;3;4;5};{1;2;3}) (nul besoin de faire une validation matricielle
pour générer ce tableau). Pour t'en convaincre, tu entres la formule
dans une cellule et tu appuies sur le bouton fx de la barre des formules.
Observe les accolades qui entourent le chiffre {2} comme réponse.
Par conséquent, Excel ne peut pas utiliser un tableau comme intermédiaire...
la fonction index() génère d'elle-même un tableau pour chacune des valeurs
qu'elle trouve. Normalement, chaque valeur intermédiaire représente un
item d'un tableau et non un tableau en soi. Résultat : pour afficher chaque
résultat du tableau, Excel a besoin d'autant de cellules qu'il y a de tableaux
dans le tableau.
Dans l'exemple, si on sélectionne 3 cellules (A1:A3) et que l'on
entre la formule en A1, avec une validation matricielle
on obtiendra dans chacune des cellules le résultat de chacun
des tableaux générés.
MichD
--------------------------------------------
"bcar" a écrit dans le message de groupe de discussion : iffiaa$n40$
Bonjour,
Finalement ce petit truc que j'ai soulevé dans la file "Validation NAS"
me trotte un peu dans la tête
A savoir pourquoi la formule (matricielle)
{=SOMME(INDEX({2;3;4;5};{1;2;3}))} renvoie 2 et pas 2+3+4 = 9
(ou SOMMEPROD)
c'est à dire qu'elle agit comme si j'avais écris =INDEX({2;3;4;5};1)
(Par ailleurs et pour une question bonus subsidiaire on obtient 9 en
utilisant sommeprod et en validant sur 3 cellules, comment se fait-il
que le résultat validé sur 3 cellules donne pour la première cellule un
résultat différent de la même formule validée sur une seule cellule ?)
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
michdenis
N.B- Les formules ce n'est pas ce qui m'intéresse le plus dans Excel
Bonjour,
Avenue intéressante...
sauf erreur, cela requiert des matrices de même dimension !
alors, on pourrait écrire la même chose comme ceci :
=SOMME({2;3;4;5}*{1;1;1;0})
MichD
--------------------------------------------
"michel ou sam" a écrit dans le message de groupe de discussion : 4d1ccf1b$0$5425$
Bonjour,
peut être ceci
=PRODUITMAT(TRANSPOSE({2;3;4;5});{1;1;1;0})
Michel
"bcar" a écrit dans le message de news:
ifibhr$ipo$Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
michdenis
N.B- Les formules ce n'est pas ce qui m'intéresse le plus dans Excel
Bonjour,
Avenue intéressante...
sauf erreur, cela requiert des matrices de même dimension !
alors, on pourrait écrire la même chose comme ceci :
=SOMME({2;3;4;5}*{1;1;1;0})
MichD
--------------------------------------------
"michel ou sam" a écrit dans le message de groupe de discussion : 4d1ccf1b$0$5425$ba4acef3@reader.news.orange.fr...
Bonjour,
peut être ceci
=PRODUITMAT(TRANSPOSE({2;3;4;5});{1;1;1;0})
Michel
"bcar" <bcar44@laposte.net> a écrit dans le message de news:
ifibhr$ipo$1@writer.imaginet.fr...
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
michdenis
N.B- Les formules ce n'est pas ce qui m'intéresse le plus dans Excel
Bonjour,
Avenue intéressante...
sauf erreur, cela requiert des matrices de même dimension !
alors, on pourrait écrire la même chose comme ceci :
=SOMME({2;3;4;5}*{1;1;1;0})
MichD
--------------------------------------------
"michel ou sam" a écrit dans le message de groupe de discussion : 4d1ccf1b$0$5425$
Bonjour,
peut être ceci
=PRODUITMAT(TRANSPOSE({2;3;4;5});{1;1;1;0})
Michel
"bcar" a écrit dans le message de news:
ifibhr$ipo$Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
Bonjour,
peut être ceci
=PRODUITMAT(TRANSPOSE({2;3;4;5});{1;1;1;0})
Michel
"bcar" a écrit dans le message de news: ifibhr$ipo$Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
>
Bonjour,
peut être ceci
=PRODUITMAT(TRANSPOSE({2;3;4;5});{1;1;1;0})
Michel
"bcar" <bcar44@laposte.net> a écrit dans le message de news: ifibhr$ipo$1@writer.imaginet.fr...
Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
>
Bonjour,
peut être ceci
=PRODUITMAT(TRANSPOSE({2;3;4;5});{1;1;1;0})
Michel
"bcar" a écrit dans le message de news: ifibhr$ipo$Merci pour cette réponse détaillée.
Mais alors existe-il un moyen de sommer des tableaux ?
d'emblée, j'imagine
{=SOMME(DECALER(INDEX({2;3;4;5};{1;2;3});0;0;3;1))}
mais bien sûr ça ne fonctionne pas ;) puisque ce sont des matrices
différentes...
mais cela me parait bizarre puisque je peux faire =SOMME({1};{2}) donc
avec 2 matrices différentes (même si elles ne sont pas générées par Excel)
Donc maintenant que j'ai bien pigé la limitation d'index, si quelqu'un a
une astuce pour réaliser ce que je désire faire (sans utilisation de
cellules intermédiaires) je suis preneur.
>