Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sommeprod et données croisées

11 réponses
Avatar
bcar
Bonjour,

soit les données suivantes

Tableau1 (en A1)
nom valeur valeurATrouver
Bob 100 ?
Ben 200 ?
Bil 250 ?
Bul 300 ?

Tableau2 (en A7)
nom1 nom2 %
Bob Bul 0.1
Ben Bul 0.1
Bob Bil 0.2
Bil Bul 0.2

je veux trouver valeurATrouver qui est définie de la manière suivante
valeurATrouver de A1 = 0.1*300 + 0.2*250
(Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur de
nom2 dans T1, et on fait la somme de tout ça)

j'ai donc écrit la formule suivante
=SOMMEPROD((A8:A11=A2)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))

Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou
je met la formule, le résultat n'est pas le même (sur les lignes
8-9-10-11 j'obtiens des chiffres (différents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)

Donc si quelqu'un à une explication à ce phénomène ou/et une solution à
mon problème je suis preneur.
Merci

10 réponses

1 2
Avatar
isabelle
bonjour bcar,

=(SOMMEPROD(($A$8:$A$11¢)*($C$8:$C$11=0.1))*0.1*300)+(SOMMEPROD(($A$8:$A$11¢)*($C$8:$C$11=0.2))*0.2*250)

isabelle



Le 2010-12-16 09:21, bcar a écrit :
Bonjour,

soit les données suivantes

Tableau1 (en A1)
nom valeur valeurATrouver
Bob 100 ?
Ben 200 ?
Bil 250 ?
Bul 300 ?

Tableau2 (en A7)
nom1 nom2 %
Bob Bul 0.1
Ben Bul 0.1
Bob Bil 0.2
Bil Bul 0.2

je veux trouver valeurATrouver qui est définie de la manière suivante
valeurATrouver de A1 = 0.1*300 + 0.2*250
(Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur de
nom2 dans T1, et on fait la somme de tout ça)

j'ai donc écrit la formule suivante
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))

Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou
je met la formule, le résultat n'est pas le même (sur les lignes
8-9-10-11 j'obtiens des chiffres (différents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)

Donc si quelqu'un à une explication à ce phénomène ou/et une solution à
mon problème je suis preneur.
Merci
Avatar
LSteph
Bonjour,

Plusieurs points contradictoires

1-Ceci
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))


ne me semble pas correspondre à ce que tu as demandé
2- mais apporte une explication à cela
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)


Il ne faut pas que tes matrices se décalent donc y mettre des valeurs
absolues $a$8:$a$11

3- Comment peux tu obtenir ceci
valeurATrouver de T en A1 = 0.1*300 + 0.2*250


cela ne répond pas à ce que tu dis ou pas à ton tableau
pour nom1 en ligne première des données je lis Bob et
pour nom 2 Bul
avec sur cette même ligne 0.1
donc d'où sort le 0.2
ensuite pour Bob
je lis 100 et non 300
pour bul 300 ert non 250

d'autre part puisque les mêmes prénoms apparaissent plusieurs fois
lequel faudrait - il prendre edeans quel cas et selon quelle
condition.
a fortiori cela n'a aucune chance de fonctionner avec ce recherchev
qui choisira la 1ère occurence trouvée.

Peux tu clarifier?

Cordialement.

--
LSteph




n 16 déc, 15:21, bcar wrote:
Bonjour,

soit les donn es suivantes

Tableau1 (en A1)
nom     valeur  valeurATrouver
Bob     100     ?
Ben     200     ?
Bil     250     ?
Bul     300     ?

Tableau2 (en A7)
nom1    nom2    %
Bob     Bul     0.1
Ben     Bul     0.1
Bob     Bil     0.2
Bil     Bul     0.2

je veux trouver valeurATrouver qui est d finie de la mani re suivante
valeurATrouver de A1 = 0.1*300 + 0.2*250
(Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur d e
nom2 dans T1, et on fait la somme de tout a)

j'ai donc crit la formule suivante
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))

Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou
je met la formule, le r sultat n'est pas le m me (sur les lignes
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)

Donc si quelqu'un une explication ce ph nom ne ou/et une solution
mon probl me je suis preneur.
Merci
Avatar
michel ou sam
Bonjour,
j'ai ressorti ma boule de cristal et sans répondre entièrement à ta question

mets en D8 : =SOMMEPROD(C8*($A$2:$A$5¸)*($B$2:$B$5))
et tu copies jusque D11
puis mets en C2 : =SOMMEPROD(($A$8:$A$11¢)*$D$8:$D$11)
et tu copies jusque C5

Est ce le résultat recherché ?
Michel

"LSteph" a écrit dans le message de news:

Bonjour,

Plusieurs points contradictoires

1-Ceci
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))


ne me semble pas correspondre à ce que tu as demandé
2- mais apporte une explication à cela
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)


Il ne faut pas que tes matrices se décalent donc y mettre des valeurs
absolues $a$8:$a$11

3- Comment peux tu obtenir ceci
valeurATrouver de T en A1 = 0.1*300 + 0.2*250


cela ne répond pas à ce que tu dis ou pas à ton tableau
pour nom1 en ligne première des données je lis Bob et
pour nom 2 Bul
avec sur cette même ligne 0.1
donc d'où sort le 0.2
ensuite pour Bob
je lis 100 et non 300
pour bul 300 ert non 250

d'autre part puisque les mêmes prénoms apparaissent plusieurs fois
lequel faudrait - il prendre edeans quel cas et selon quelle
condition.
a fortiori cela n'a aucune chance de fonctionner avec ce recherchev
qui choisira la 1ère occurence trouvée.

Peux tu clarifier?

Cordialement.

--
LSteph




n 16 déc, 15:21, bcar wrote:
Bonjour,

soit les donn es suivantes

Tableau1 (en A1)
nom valeur valeurATrouver
Bob 100 ?
Ben 200 ?
Bil 250 ?
Bul 300 ?

Tableau2 (en A7)
nom1 nom2 %
Bob Bul 0.1
Ben Bul 0.1
Bob Bil 0.2
Bil Bul 0.2

je veux trouver valeurATrouver qui est d finie de la mani re suivante
valeurATrouver de A1 = 0.1*300 + 0.2*250
(Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur de
nom2 dans T1, et on fait la somme de tout a)

j'ai donc crit la formule suivante
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))

Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou
je met la formule, le r sultat n'est pas le m me (sur les lignes
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)

Donc si quelqu'un une explication ce ph nom ne ou/et une solution
mon probl me je suis preneur.
Merci
Avatar
michel ou sam
Bonjour,
j'ai commis ça un peu par hazard, sélectionne C2:C5
mets ceci dans la zone de formule et valide en matriciel en appuyant sur les
3 touches Ctrl, Maj, Entrée
=SOMMEPROD(($A$8:$A$11¢)*SOMME.SI($A$2:$A$5;$B$8:$B$11;$B$2:$B$5)*($C$8:$C$11))

est ce le résultat espéré ?
Michel

"michel ou sam" a écrit dans le message de news:
4d0a4c3c$0$7681$
Bonjour,
j'ai ressorti ma boule de cristal et sans répondre entièrement à ta
question

mets en D8 : =SOMMEPROD(C8*($A$2:$A$5¸)*($B$2:$B$5))
et tu copies jusque D11
puis mets en C2 : =SOMMEPROD(($A$8:$A$11¢)*$D$8:$D$11)
et tu copies jusque C5

Est ce le résultat recherché ?
Michel

"LSteph" a écrit dans le message de news:

Bonjour,

Plusieurs points contradictoires

1-Ceci
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))


ne me semble pas correspondre à ce que tu as demandé
2- mais apporte une explication à cela
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)


Il ne faut pas que tes matrices se décalent donc y mettre des valeurs
absolues $a$8:$a$11

3- Comment peux tu obtenir ceci
valeurATrouver de T en A1 = 0.1*300 + 0.2*250


cela ne répond pas à ce que tu dis ou pas à ton tableau
pour nom1 en ligne première des données je lis Bob et
pour nom 2 Bul
avec sur cette même ligne 0.1
donc d'où sort le 0.2
ensuite pour Bob
je lis 100 et non 300
pour bul 300 ert non 250

d'autre part puisque les mêmes prénoms apparaissent plusieurs fois
lequel faudrait - il prendre edeans quel cas et selon quelle
condition.
a fortiori cela n'a aucune chance de fonctionner avec ce recherchev
qui choisira la 1ère occurence trouvée.

Peux tu clarifier?

Cordialement.

--
LSteph




n 16 déc, 15:21, bcar wrote:
Bonjour,

soit les donn es suivantes

Tableau1 (en A1)
nom valeur valeurATrouver
Bob 100 ?
Ben 200 ?
Bil 250 ?
Bul 300 ?

Tableau2 (en A7)
nom1 nom2 %
Bob Bul 0.1
Ben Bul 0.1
Bob Bil 0.2
Bil Bul 0.2

je veux trouver valeurATrouver qui est d finie de la mani re suivante
valeurATrouver de A1 = 0.1*300 + 0.2*250
(Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur de
nom2 dans T1, et on fait la somme de tout a)

j'ai donc crit la formule suivante
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))

Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou
je met la formule, le r sultat n'est pas le m me (sur les lignes
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)

Donc si quelqu'un une explication ce ph nom ne ou/et une solution
mon probl me je suis preneur.
Merci




Avatar
michel ou sam
oups
erreur de ma part, mets la formule en C2 :
=SOMMEPROD(($A$8:$A$11¢)*SOMME.SI($A$2:$A$5;$B$8:$B$11;$B$2:$B$5)*($C$8:$C$11))et valide la en matriciel en appuyant sur les 3 touches Ctrl, Maj, Entréepuis copie jusque C5Michel"michel ou sam" a écrit dans le message de news:4d0a6c1c$0$5386$ Bonjour,> j'ai commis ça un peu par hazard, sélectionne C2:C5> mets ceci dans la zone de formule et valide en matriciel en appuyant surles 3 touches Ctrl, Maj, Entrée>=SOMMEPROD(($A$8:$A$11¢)*SOMME.SI($A$2:$A$5;$B$8:$B$11;$B$2:$B$5)*($C$8:$C$11))>> est ce le résultat espéré ?> Michel>> "michel ou sam" a écrit dans le message de news:4d0a4c3c$0$7681$ Bonjour,>> j'ai ressorti ma boule de cristal et sans répondre entièrement à taquestion>>>> mets en D8 : =SOMMEPROD(C8*($A$2:$A$5¸)*($B$2:$B$5))>> et tu copies jusque D11>> puis mets en C2 : =SOMMEPROD(($A$8:$A$11¢)*$D$8:$D$11)>> et tu copies jusque C5>>>> Est ce le résultat recherché ?>> Michel>>>> "LSteph" a écrit dans le message de news: Bonjour,>>>> Plusieurs points contradictoires>>>> 1-Ceci>>> =SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))>> ne me semble pas correspondre à ce que tu as demandé>> 2- mais apporte une explication à cela>>> 8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour>>> tous les autres emplacement j'obtiens un beau #valeur)>> Il ne faut pas que tes matrices se décalent donc y mettre des valeurs>> absolues $a$8:$a$11>>>> 3- Comment peux tu obtenir ceci>>> valeurATrouver de T en A1 = 0.1*300 + 0.2*250>> cela ne répond pas à ce que tu dis ou pas à ton tableau>> pour nom1 en ligne première des données je lis Bob et>> pour nom 2 Bul>> avec sur cette même ligne 0.1>> donc d'où sort le 0.2>> ensuite pour Bob>> je lis 100 et non 300>> pour bul 300 ert non 250>>>> d'autre part puisque les mêmes prénoms apparaissent plusieurs fois>> lequel faudrait - il prendre edeans quel cas et selon quelle>> condition.>> a fortiori cela n'a aucune chance de fonctionner avec ce recherchev>> qui choisira la 1ère occurence trouvée.>>>> Peux tu clarifier?>>>> Cordialement.>>>> -->> LSteph>>>>>>>>>> n 16 déc, 15:21, bcar wrote:>>> Bonjour,>>>>>> soit les donn es suivantes>>>>>> Tableau1 (en A1)>>> nom valeur valeurATrouver>>> Bob 100 ?>>> Ben 200 ?>>> Bil 250 ?>>> Bul 300 ?>>>>>> Tableau2 (en A7)>>> nom1 nom2 %>>> Bob Bul 0.1>>> Ben Bul 0.1>>> Bob Bil 0.2>>> Bil Bul 0.2>>>>>> je veux trouver valeurATrouver qui est d finie de la mani re suivante>>> valeurATrouver de A1 = 0.1*300 + 0.2*250>>> (Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur de>>> nom2 dans T1, et on fait la somme de tout a)>>>>>> j'ai donc crit la formule suivante>>> =SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))>>>>>> Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou>>> je met la formule, le r sultat n'est pas le m me (sur les lignes>>> 8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour>>> tous les autres emplacement j'obtiens un beau #valeur)>>>>>> Donc si quelqu'un une explication ce ph nom ne ou/et une solution>>> mon probl me je suis preneur.>>> Merci>>>>>>
Avatar
michel ou sam
Bonjour,
je ne sais pas ce qui est arrivé à mon dernier envoi alors je recommence
mets cette formule en C2 ou dans tout autre cellule:
=SOMMEPROD(($A$8:$A$11¢)*SOMME.SI($A$2:$A$5;$B$8:$B$11;$B$2:$B$5)*($C$8:$C$11))etvalide la en matriciel en appuyant sur les 3 touches Ctrl, Maj, Entrée puiscopie vers le bas jusque C5Le résultat est il bon ?Michel"bcar" a écrit dans le message de news:ied6pu$nfd$ Bonjour,>> soit les données suivantes>> Tableau1 (en A1)> nom valeur valeurATrouver> Bob 100 ?> Ben 200 ?> Bil 250 ?> Bul 300 ?>> Tableau2 (en A7)> nom1 nom2 %> Bob Bul 0.1> Ben Bul 0.1> Bob Bil 0.2> Bil Bul 0.2>> je veux trouver valeurATrouver qui est définie de la manière suivante> valeurATrouver de A1 = 0.1*300 + 0.2*250> (Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur de> nom2 dans T1, et on fait la somme de tout ça)>> j'ai donc écrit la formule suivante> =SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))>> Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou> je met la formule, le résultat n'est pas le même (sur les lignes> 8-9-10-11 j'obtiens des chiffres (différents pour chaque ligne) et pour> tous les autres emplacement j'obtiens un beau #valeur)>> Donc si quelqu'un à une explication à ce phénomène ou/et une solution à> mon problème je suis preneur.> Merci
Avatar
michel ou sam
Bonjour,
grrr ! pourquoi ça fait ça !? - dernier envoi -

mets la formule en C2 :
=SOMMEPROD(($A$8:$A$11¢)*SOMME.SI($A$2:$A$5;$B$8:$B$11;$B$2:$B$5)*($C$8:$C$11))et valide la en matriciel en appuyant sur les 3 touches Ctrl, Maj, Entréepuis copie jusque C5Michel
Avatar
bcar
Le 16/12/2010 20:48, michel ou sam a écrit :
oups
erreur de ma part, mets la formule en C2 :
=SOMMEPROD(($A$8:$A$11¢)*SOMME.SI($A$2:$A$5;$B$8:$B$11;$B$2:$B$5)*($C$8:$C$11))et valide la en matriciel en appuyant sur les 3 touches Ctrl, Maj, Entréepuis copie jusque C5




Excellent, c'est exactement le résultat que je cherchais.
Merci.
(en attendant de trouver la vraie formule j'étais passé par un résultat
intermédiaire)

En plus je n'ai pas besoin de "valider matriciellement" puisque
sommeprod encadre le tout.

Merci, je n'avais tout simplement pas pensé à utiliser un somme.si dans
le sommeprod.
Avatar
bcar
Bonjour,

merci a toi et a isabelle de vous être intéressé à mon problème.
J'avais bien vu que ma formule ne fonctionnait pas ;)
Seulement c'était ce que j'avais imaginé qui me semblait le plus proche
de ce que je voulais (au niveau de l'idée).

"michel ou sam" a proposé depuis une solution valide qui me convient.
Peut être qu'en regardant la solution vous comprendrez mieux mon
problème (qui n'était peut être pas très clairement énoncé).

Le 16/12/2010 17:25, LSteph a écrit :
Bonjour,

Plusieurs points contradictoires

1-Ceci
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))


ne me semble pas correspondre à ce que tu as demandé
2- mais apporte une explication à cela
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)


Il ne faut pas que tes matrices se décalent donc y mettre des valeurs
absolues $a$8:$a$11

3- Comment peux tu obtenir ceci
valeurATrouver de T en A1 = 0.1*300 + 0.2*250


cela ne répond pas à ce que tu dis ou pas à ton tableau
pour nom1 en ligne première des données je lis Bob et
pour nom 2 Bul
avec sur cette même ligne 0.1
donc d'où sort le 0.2
ensuite pour Bob
je lis 100 et non 300
pour bul 300 ert non 250

d'autre part puisque les mêmes prénoms apparaissent plusieurs fois
lequel faudrait - il prendre edeans quel cas et selon quelle
condition.
a fortiori cela n'a aucune chance de fonctionner avec ce recherchev
qui choisira la 1ère occurence trouvée.

Peux tu clarifier?

Cordialement.

--
LSteph

n 16 déc, 15:21, bcar wrote:
Bonjour,

soit les donn es suivantes

Tableau1 (en A1)
nom valeur valeurATrouver
Bob 100 ?
Ben 200 ?
Bil 250 ?
Bul 300 ?

Tableau2 (en A7)
nom1 nom2 %
Bob Bul 0.1
Ben Bul 0.1
Bob Bil 0.2
Bil Bul 0.2

je veux trouver valeurATrouver qui est d finie de la mani re suivante
valeurATrouver de A1 = 0.1*300 + 0.2*250
(Pour chaque ligne de T2 avec nom1 = nom dans T1, on prend % * valeur de
nom2 dans T1, et on fait la somme de tout a)

j'ai donc crit la formule suivante
=SOMMEPROD((A8:A11¢)*C8:C11*RECHERCHEV(B8:B11;A2:B5;2;FAUX))

Ca ne fait pas ce que je veux, mais en plus en fonction de la cellule ou
je met la formule, le r sultat n'est pas le m me (sur les lignes
8-9-10-11 j'obtiens des chiffres (diff rents pour chaque ligne) et pour
tous les autres emplacement j'obtiens un beau #valeur)

Donc si quelqu'un une explication ce ph nom ne ou/et une solution
mon probl me je suis preneur.
Merci



Avatar
michel ou sam
Bonjour,
merci aussi car tu m'as appris qqchose,
je n'avais pas remarqué qu'avec sommeprod, une formule qui à l'origine était
matricielle afin d'avoir un champ, n'avait plus besoin d'être validée en
matriciel.
Michel

"bcar" a écrit dans le message de news:
ief580$bvi$
Excellent, c'est exactement le résultat que je cherchais.
Merci.
(en attendant de trouver la vraie formule j'étais passé par un résultat
intermédiaire)

En plus je n'ai pas besoin de "valider matriciellement" puisque
sommeprod encadre le tout.

Merci, je n'avais tout simplement pas pensé à utiliser un somme.si dans
le sommeprod.
1 2