Forum Discussion

ID1915677's avatar
ID1915677
Copper Contributor
Jun 27, 2023

longue formule

Bonjour, j'ai fait un grand tableau, avec des calculs identiques 70x.

Par exemple, 1 formule : =SI(CZ6=1;SOMME(DA194:DA224);0)+SI(DD6=1;SOMME(DE194:DE224);0)+SI(DH6=1;SOMME(DI194:DI224);0)+SI(DL6=1;SOMME(DM194:DM224);0), etc...

Existe-t-il une formule pour éviter de répéter 70x ? ce qui risque d'être impossible de toute façon.

Merci beaucoup pour votre aide

8 Replies

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    ID1915677 

    Il est possible d'éviter de répéter la même formule 70 fois en utilisant une formule matricielle en combinaison avec des références de plage.

    Dans votre exemple, vous pouvez utiliser la fonction SUMIF pour effectuer les calculs dans une seule formule. Voici comment procéder :

    Sélectionnez d'abord une plage de cellules dans laquelle vous souhaitez afficher les résultats de vos calculs. Assurez-vous que la plage de cellules est suffisamment grande pour contenir les 70 résultats.

    Dans la première cellule de la plage sélectionnée, saisissez la formule suivante sous forme de formule matricielle (appuyez sur Ctrl + Maj + Entrée pour valider la formule) :
    =SOMME(SI(CZ6:DL6=1;DA194:DM224;0))

    Maintenant, au lieu de répéter la même formule dans les 70 cellules suivantes, vous pouvez simplement faire glisser la première cellule pour copier la formule. Excel ajuste automatiquement les références de plage pour chaque cellule, ce qui calcule les résultats corrects pour chaque plage de données.
    Assurez-vous de modifier les références de plage (par exemple, DA194:DM224) pour qu'elles correspondent à la plage réelle de vos données.

    Cela évite de répéter plusieurs fois la même formule et facilite la gestion de votre feuille de calcul.

    Le texte a été créé avec l'aide de l'IA.

    • ID1915677's avatar
      ID1915677
      Copper Contributor
      merci beaucoup, je ferai également l'essai
  • Hecatonchire's avatar
    Hecatonchire
    Iron Contributor

    ID1915677 

     

    Salut,

     

    Une solution pas très propre et un peu bourrin.

     

    =SOMME(SIERREUR(DA194:DM224*(CZ6:DL6=1);0))  je me suis arrêté à la colonne DL/DM

     

    Ok si si tu n'as pas de code 1 entre les cellules CZ, DD,DH sinon

     

    =SOMME(SIERREUR(DA194:DM224*(CZ6:DL6=1)* (MOD(COLONNE(CZ6:DL6);4)=0);0))

     

     

     

    • ID1915677's avatar
      ID1915677
      Copper Contributor
      J'ai testé ces formules, mais excel me répond qu'il y a des erreurs. J'avais commencé une solution alternative, assez longue mais qui marche. J'ai trouvé une solution alternative (très longue, car il me faut changer dans chaque cellule 0 ou 1), en faisant un calcul en fin de chaque colonne, selon le code 1 ou 0, puis une somme en fonction de ce code.
      • Hecatonchire's avatar
        Hecatonchire
        Iron Contributor

        ID1915677 

         

        Je n'ai pas précisé que ces formules fonctionnent pour des versions >2019 ou 365.

        Sinon il faut les valider par CTRL+MAj+ENTRER

    • ID1915677's avatar
      ID1915677
      Copper Contributor
      merci beaucoup, je vais essayer. J'ai trouvé une solution alternative (très longue, car il me faut changer dans chaque cellule 0 ou 1), en faisant un calcul en fin de chaque colonne, selon le code 1 ou 0, puis une somme en fonction de ce code.
  • Patrick2788's avatar
    Patrick2788
    Silver Contributor
    If available, you may use the LET function. I believe the name of the function is the same in French as in English.
    • ID1915677's avatar
      ID1915677
      Copper Contributor
      je vais également essayer cette solution. Merci beaucoup

Resources