OVH Cloud OVH Cloud

Pb avec fonction RECHERCHEV()

3 réponses
Avatar
Andrew
Bonjour,

J'ai un probl=E8me avec la fonction RECHERCHEV()

J'ai un tableau qui s'apelle "sp" avec dans la 1=E8re=20
colonne du texte et la deuxi=E8me des nombres.

j'ai dans les cases G36 et H36 le texte "B-"

je veux avoir dans la cellule E36 la somme des nombres=20
correspondants (qui est de 16 pour chaqu'un), donc j'ai=20
mis la formule :

"=3DRECHERCHEV(G36;sp;2)+RECHERCHEV(H36;sp;2)"

mais =E7a me donne 14, donc comme si le texte "B-"=20
correspondait =E0 7 (logiquement car les cases G36 et H36=20
sont =E9gales), mais si je regarde =E0 c=F4t=E9 du nombre j'ai "A-
".

est ce que se serait un pb avec un m=E9lange de signes et de=20
texte ?

3 réponses

Avatar
ru-th
Salut,

si j'ai compris pas trop de travers,il te manque l'argument final FAUX,
indiquant que tu veux une recherche exact
=RECHERCHEV(G36;sp;2;faux)+RECHERCHEV(H36;sp;2;faux)

mais pourquoi ne pas utiliser des fonctions comme somme.si (ou plus, si
affinités comme un bon petit somme matriciel) mais, ne crois pas un mot de
ceux qui voudrait de refouguer un sommeprod usager ;-))

rural thierry



"Andrew" a écrit dans le message news:
0af801c368ae$e5631520$
Bonjour,

J'ai un problème avec la fonction RECHERCHEV()

J'ai un tableau qui s'apelle "sp" avec dans la 1ère
colonne du texte et la deuxième des nombres.

j'ai dans les cases G36 et H36 le texte "B-"

je veux avoir dans la cellule E36 la somme des nombres
correspondants (qui est de 16 pour chaqu'un), donc j'ai
mis la formule :

"=RECHERCHEV(G36;sp;2)+RECHERCHEV(H36;sp;2)"

mais ça me donne 14, donc comme si le texte "B-"
correspondait à 7 (logiquement car les cases G36 et H36
sont égales), mais si je regarde à côté du nombre j'ai "A-
".

est ce que se serait un pb avec un mélange de signes et de
texte ?
Avatar
Nicolas B.
Qu'entends-je ?

Sommeprod ne vaut rien par rapport à un recherchev ou à une matricielle ?

Recherchev : plante tout le temps.
Matricielle : quel calvaire de devoir valider par trois touches au lieu
d'une, et en plus, ça prends beaucoup plus de temps pour calculer la
formule.

Sommeprod : LA formule à tout faire.

:-)
--
Nicolas B.

ru-th a récemment écrit dans un message de news :
Salut,

si j'ai compris pas trop de travers,il te manque l'argument final
FAUX, indiquant que tu veux une recherche exact
=RECHERCHEV(G36;sp;2;faux)+RECHERCHEV(H36;sp;2;faux)

mais pourquoi ne pas utiliser des fonctions comme somme.si (ou plus,
si affinités comme un bon petit somme matriciel) mais, ne crois pas
un mot de ceux qui voudrait de refouguer un sommeprod usager ;-))

rural thierry



"Andrew" a écrit dans le message news:
0af801c368ae$e5631520$
Bonjour,

J'ai un problème avec la fonction RECHERCHEV()

J'ai un tableau qui s'apelle "sp" avec dans la 1ère
colonne du texte et la deuxième des nombres.

j'ai dans les cases G36 et H36 le texte "B-"

je veux avoir dans la cellule E36 la somme des nombres
correspondants (qui est de 16 pour chaqu'un), donc j'ai
mis la formule :

"=RECHERCHEV(G36;sp;2)+RECHERCHEV(H36;sp;2)"

mais ça me donne 14, donc comme si le texte "B-"
correspondait à 7 (logiquement car les cases G36 et H36
sont égales), mais si je regarde à côté du nombre j'ai "A-
".

est ce que se serait un pb avec un mélange de signes et de
texte ?


Avatar
Nicolas B.
Sommeprod, ça marche un peu comme une formule matricielle (si tu sais ce que
c'est).
Déjà pour simplifier, nomme A1:A3 sp1 et B1:B3 sp2. Change la formule :
=SOMMEPROD((sp1=G36)*sp2)+SOMMEPROD((sp1=H36)*sp2)
Enlève la deuxième partie :
=SOMMEPROD((sp1=G36)*sp2)

Pour les exemples, j'ai mis en a1:a3 : A-, B-, C-.
et en B1:B3 : 12, 16, 20.

Voila, c'est déjà plus clair.
Tu remarques que sp1 est une plage. sp1=G36 ne veut rien dire comme ça. MAIS
dans un sommeprod, excel va calculer pour chaque ligne de sp1 si elle est
égale à G36. Excel renvoie alors une matrice : {0;1;0} dans l'exemple (0
pour faux, 1 pour vrai).

sp2 est une plage, donc s'écrit {12,16,20}. Soit la formule :
=SOMMEPROD({0;1;0}*{12,16,20}).
Sommeprod calcule, comme son nom l'indique, la somme des produits :
=(0*12)+(1*16)+(0*20)

Pour t'aider à comprendre, va jeter un coup d'oeil dans l'aide de la
fonction et utilise le bouton Evaluation de formules (barre d'outils Audit
de formules) pour suivre les étapes du calcul.

Bon courage
:-)

--
Nicolas B.

Andrew a récemment écrit dans un message de news :
ok,

Faudrait que j'apprenne à utiliser la fonction sommeprod,
car ça fait déjà la 3ème fois qu'on me donne cette
fonction comme solution. Au fait tu pourrais me
l'expliquer ?

je l'ai utilisée et ça marche, merci quand même ruth, je
saurais pour la prochaine fois.

Merci
-----Message d'origine-----
Qu'entends-je ?

Sommeprod ne vaut rien par rapport à un recherchev ou à une
matricielle ?

Recherchev : plante tout le temps.
Matricielle : quel calvaire de devoir valider par trois touches au
lieu d'une, et en plus, ça prends beaucoup plus de temps pour
calculer la formule.

Sommeprod : LA formule à tout faire.

:-)
--
Nicolas B.

ru-th a récemment écrit dans un message de news :
Salut,

si j'ai compris pas trop de travers,il te manque l'argument final
FAUX, indiquant que tu veux une recherche exact
=RECHERCHEV(G36;sp;2;faux)+RECHERCHEV(H36;sp;2;faux)

mais pourquoi ne pas utiliser des fonctions comme somme.si (ou plus,
si affinités comme un bon petit somme matriciel) mais, ne crois pas
un mot de ceux qui voudrait de refouguer un sommeprod usager ;-))

rural thierry



"Andrew" a écrit dans le message news:
0af801c368ae$e5631520$
Bonjour,

J'ai un problème avec la fonction RECHERCHEV()

J'ai un tableau qui s'apelle "sp" avec dans la 1ère
colonne du texte et la deuxième des nombres.

j'ai dans les cases G36 et H36 le texte "B-"

je veux avoir dans la cellule E36 la somme des nombres
correspondants (qui est de 16 pour chaqu'un), donc j'ai
mis la formule :

"=RECHERCHEV(G36;sp;2)+RECHERCHEV(H36;sp;2)"

mais ça me donne 14, donc comme si le texte "B-"
correspondait à 7 (logiquement car les cases G36 et H36
sont égales), mais si je regarde à côté du nombre
j'ai "A-


".

est ce que se serait un pb avec un mélange de signes et de
texte ?



.