Caractères pour nommer une plage dans une formule

Bonjour à tous,

Je suis en train d'utiliser la fonction SOMMEPROD sur des plages de valeurs sans avoir nommé celles-ci.

Le soucis qui se pose c'est que si ma première matrice est écrite ainsi par exemple : SOMMEPROD(A1:A10="tableau";...

Ceci n'est pas accepté comme le serait : SOMMEPROD('tableau1'[maplage]="tableau";...

J'ai essayé ainsi SOMMEPROD([A1:A10]="tableau";..

Mais ça fonctionne pas ... est ce qu'il existe une combinaison de caractères permettant d'appeler la plage sans être obligé de la nommer?

Merci beaucoup ! :)

bonjour

essaye avec

=SOMMEPROD((tableau=....)*(.......)
ou 
SOMMEPROD((INDIRECT("tableau"))*(......)

Bonsoir Tulipe4

Je crois que j'ai mal expliqué dans ma demande ou plutôt je n'ai pas précisé que le "tableau" c'est ce dont je cherche à connaître la présence dans

ma plage de cellule que je cherche nommer dans SommeProd

En fait ce que je cherche c'est comment invoquer la plage A1:A10 pour mettre la condition "=tableau"

Car écrit de cette façon ça n'est pas du tout accepté par Excel.

SOMMEPROD(A1:A10="tableau";...

Il y a peut être une fonction qui permet de la citer pour qu'elle soit entendu en tant que plage. J'ai essayé INDIRECT mais sans succès...

Bonjour,

Pas bien clair, tu peux déposer un fichier de travail avec le résultat attendu stp ?
De plus, un sommeprod d'une matrice de tests ne te donnera pas le nombre
eric

Bonsoir Tulipe4, Eriic,

Voici un fichier exemple plus propre que celui sur lequel je travaille.

Dans l'idée ce que je veux faire c'est la somme des soustractions des cellules des colonnes stocks et commandes pour les cellules de la colonne A contenant tableau.

J'ai mis aussi l'exemple avec des plages nommées, ce qui marche mais demande de nommer les plages.

Donc en fait ma question est de savoir si c'est possible de nommer les plages par leur adresse ...

Bonsoir,

ne serait-ce pas du à une erreur d'écriture ?

Vous écrivez =SOMMEPROD(A1:A10="tableau";...

Hors je crois que chaque test du sommeprod (matrice) doivent se trouvaient entre parenthèse et chaque groupe de parenthèse séparée soit par un ; ou bien une multiplication, non ?

=SOMMEPROD( (A1:A10="tableau") * (B1:B10="LouReeD") )

@ bientôt

LouReeD

Bonjour à tous,

Je crois que ne peuvent être séparées par des ";" que des matrices de valeurs numériques.

Or (A1:A10="X") est une matrice de booléennes. En rajoutant *1, ça doit être possible.

Edit : En fait, ça fausse juste le calcul car a priori toute valeur non numérique (hors erreur) est interprétée comme valant 0.

Cdlt,

Re,

Ah oui, le piège c'était "tableau". Tu aurais pu choisir un autre article qui ne représente pas quelque chose d'excel.

Tu m'étonnes qu'on avait du mal à comprendre...

=SOMME.SI.ENS(stocks;article;"tableau")-SOMME.SI.ENS(commandes;article;"tableau")
ou
=SOMMEPROD((article="tableau")*(stocks-commandes))
eric

Bonjour messieurs,

Merci à tous pour votre aide. Effectivement c'était ma syntaxe qui était mauvaise.. Je viens de tester avec ceci et ça fonctionne parfaitement

=SOMMEPROD(((A2:A7)="tableau")*((B2:B7)-(C2:C7)))

Effectivement la matrice du SOMMEPROD, dans la console de formule, affiche des "0" pour chaque occurrence de la plage de valeur A2:A7 ne contenant pas la valeur texte "tableau"

Merci à tous :)

Bonjour,

comme tu as nommé tes plages pourquoi ne pas te servir de ces noms ?
eric

Eh bien sur certains fichiers j'évite d'avoir trop de plages nommées, après le gestionnaire de noms est blindé.

Et je voulais aussi corriger ce problème de syntaxe qui me faisait défaut... Ne pas savoir nommer une plage de valeur en matricielle je trouvais ça un peu ennuyeux.

Une révision de syntaxe n'est jamais un luxe sur Excel j'ai l'impression... XD

En tout cas je n'avais pas du tout pensé au SOMME.SI.ENS qui est justement prévu pour ce genre de situation ...

Je suis transparent... Snif

Aller bonne continuation dand votre orojet.

@ bientôt

LouReeD

Quelqu'un m'a parlé ? Moi, je te vois LouReed et mon commentaire était plus ou moins une réponse au tien et est passé inaperçu également si ça peut te consoler !

Cdlt,

Bonjour LouReed

Non pas du tout ;) Je répondais à toutes les personnes qui m'on aidé !

Cependant j'avais testé cette version =SOMMEPROD( (A1:A10="tableau") et cela ne fonctionnait pas. Comme vous dites, il est nécessaire de border les matrices avec de parenthèse. Mais il apparaît qu'il est aussi nécessaire de border une plage de cellules avec ces mêmes parenthèses dès lors que celle-ci n'est pas invoquée via un nom de plage, mais via le nom des cellules formant ses extrémités.

C'était la petite subtilité qui m'avait échappé et qui fait toute la différence :D

Merci à vous pour votre aide :)

@3GB : Effectivement les ";" ne peuvent accepter que des caractères numérique on dirait. Je viens de faire le test je dois ajouter des "--" ou bien "*1" devant les matrices renvoyant des booléens. ;)

Bonsoir Messieurs,

Je rouvre le sujet car je rencontre un petit soucis pour exécuter les manipulations de cettte fonction SOMMEPROD sur le poste d'un collègue possédant Excel 2013.

Nous utilisons bien les touche Ctrl + Alt + Entrée pour valider , mais tout au mieux nous obtenons une première valeur mais pas de matrice de valeurs en guise de résultat...

Connaîtriez-vous la manip pour que ça fonctionne sur 2013??

Merci à vous,

Bonjour,

fait F9 sur ta formule dans la barre d'édition, tu obtiens {1;2;3} qui est bien une matrice.
Quitte par Echap pour ne pas la valider.

Si tu veux voir toute la matrice il faut sélectionner assez de cellules, par exemple H12:H17, avant d'éditer et de valider en matricielle.
Et si tu veux le résultat en horizontal sur H12:M12 ça sera =TRANSPOSE(EQUIV($D$4:$D$6;$D$4:$D$6;0))
Avec Index() tu peux aussi sortir les éléments individuels de ta matrice.
eric

Bonsoir eriic,

Merci pour ta réponse. Eh bien apparemment ça fonctionne mais c'est curieux il me semblait avoir fait cette manipulation de cette manière dans le sommeprod.

Il n'y a plus qu'à espérer que sur le poste de mon collègue ça fonctionne à l'identique

Je note pour le transpose qui s'avérera surement très utile prochainement! ;)

Pas vu de sommeprod() dans ta feuille.
C'est très rare de devoir les valider en matriciel, sommeprod() est déjà matriciel de conception.
Tout dépend de ce qu'il y a dedans
eric

oui dans l'exemple je ne l'ai pas mis mais sur le fichier de mon collègue le fonction SOMMEPROD est bien dessus. Je revois avec lui demain pour voir si ça fonctionne en suivant tes indications et te fais un retour!

Rechercher des sujets similaires à "caracteres nommer plage formule"