EXCEL : utilisation de la fonction SOMME.SI

Résolu
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

6 réponses

  1. 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
    1. 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
      1. 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
        1. Contributeur
          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
      2. 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
        1. Contributeur
          Essaie de commencer ta formule par INDIRECT(
          0
      3. Contributeur
        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
        1. 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