EXCEL : utilisation de la fonction SOMME.SI

Résolu/Fermé
denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020 - 26 mai 2011 à 09:18
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 - 2 juin 2011 à 03:02
Bonjour,

J'utilise la fonction SOMME.SI avec les paramètre suivant :

=SOMME.SI(Activités!$B$1:$B$15;$M$72;CONCATENER("Activités!L";K73+1;"C1";":L";K73+1;"C15"))

Mon problème est que, concernant la matrice identifier par la fonction CONCATENER, je récupère l'adresse de la matrice et non pas le contenu de la matrice.

Auriez-vous une solution à mon problème ?

Merci d'avance pour vos réponses

Cdlt

A voir également:

6 réponses

pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 382
26 mai 2011 à 11:02
Bonjour,

il faudrait savoir ce que tu veux récupérer comme information dans ta fonction CONCATENER (qui me semble écrite bizarrement).

pépé
0
denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020
26 mai 2011 à 12:08
Je fais des statistiques sur 6 mois glissants. Pour trouver les bonnes données à traiter, je :
- recherche la colonne à prendre en compte via la fonction EQUIV
- le résultat de la fonction EQUIV me permet d'identifier l'ensemble des cellules à sommer en fonction du critère de sélection contenu dans la cellule M72

La fonction SOMME.SI telle qu'écrite ci-dessus n'est pas accepté par EXCEL. Si je mets la fonction CONCATENER dans une cellule distincte (XY) et que j'applique la fonction SOMME.SI(Activités!$B$1:$B$15;$M$72;XY), je récupère 0 au lieu de la valeur sommée.
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 382
26 mai 2011 à 12:39
Bonjour,
il me semble que la fonction Concatener ne fonctionne que pour des chaînes de caractères.
La fonction Somme.si attend un plage de valeurs numériques.

A+
pépé
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
2 juin 2011 à 03:02
Bonjour pépé.

Non : Justement, le gros avantage de CONCATENER est d'accepter d'accoler des textes, des valeurs numériques, le contenu de cellules nommées, le contenu de cellules.
Le résultat, lui, est effectivement un texte.

Salutations.
0
denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020
26 mai 2011 à 13:05
N'existe t-il pas une fonction du type VALEUR (CONCATENER("Activités!L";K73+1;"C1";":L";K73+1;"C15")) qui me permettrait de récupérer le contenu de la matrice et non pas l'adresse de la matrice ?
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
1 juin 2011 à 04:25
Essaie de commencer ta formule par INDIRECT(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 1/06/2011 à 09:57
Bonjour tous

il semble que votre formule mélange les types de référence de colonne ,
en effet le libellé de votre formule avec un K73=0 donne:
Activités!L1C1:L1C15

Je n'ai pas testé ce mélange des genres sur excel, mais je pense que c'est une partie du problème.
Par par ailleurs, Raymond à raison, le CONCATENER donne du texte mais pas une adresse.

Il faut traduire avec la fonction INDIRECT
essayez celle ci:
=SOMME.SI($B$1:$B$15;$M$72;INDIRECT("Activités!"&ADRESSE(1;K73+1)&":"&ADRESSE(15;K73+1)))

qui fera référence avec le code INDIRECT et K73=0 au champ:

Activités!$A$1:$A$15
" " " " " " $B$1:$B$15 avec K73=1
Etc...

Je pense que c'est ce que vous cherchez?

bonne chance

crdlmnt

Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Bonjour,

Merci pour ces retours

=SOMME.SI($B$1:$B$15;$M$72;INDIRECT("Activités!"&ADRESSE(1;K73+1)&":"&ADRESSE(15;K73+1)))

répond exactement à mes attentes

J'avais également implémenté la formule suivante, mais plus complexe et contraignante en maintenance :

=SOMME.SI(Activités!$B$1:$B$15;M$72;CHOISIR(DROITE($L73;2)-DROITE($C$1;2)+1;Sem17;Sem18;Sem19;Sem20;Sem21;Sem22;Sem23;Sem24;Sem25;Sem26))

où DROITE($L73;2) donne la semaine à traiter

DROITE($C$1;2) donne le début de l'historique

Semxx donne les plages concernées pour effectuer la somme

Cdlt
0