Fonstion SommeSI et ESTERREUR

fabis -  
Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je travaille sur un tableau de bord et j'utilse des formules qui me permettent de renvoyer des données automatiques parce que mon tableau de bord a des liaisons avec d'autres fichiers EXCEL. je voudrais savoir comment je peux utliserune formule qui comporte les deux fonctions Somme Si et ESTERREUR.
Voici la fromule que j'ai tapé et qui me donne pas le bon résultat: SI(ESTERREUR(SOMME(SI([Ftemp11.xls]document!$B$3:$B$600=" DLI ";[Ftemp11.xls]document!$J$3:$J$600;0))/1000);0;SOMME(SI([Ftemp11.xls]document!$B$3:$B$600=" DLI ";[Ftemp11.xls]document!$J$3:$J$600;0))/1000)

Merci d'avance pour votre aide.
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. tontong
     
    Bonjour,
    Avant de vérifier plus en détail : la syntaxe somme(si(..... est-elle volontaire? ou faut-il revenir à somme.si?
    0
  2. Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    En effet, on peut dire que tu manques de rigueur :
    ► ans le titre de ta discussion on lit SommeSi
    ► à la ligne 4 on lit Somme Si
    ► dans les formules tu écris à deux reprise SOMME(SI
    alors qu'Excel te propose explicitement et uniquement comme syntaxe SOMME.SI
    0
    1. fabis
       
      si j'ai tapé sur le titre sommeSi tu dois savoir que c'est une erreur. En plus je viens de me rendre compte que le Somme(Si sur la formule était différent de Somme.Si et saches qu'on peut utiliser cette dernière.
      0
  3. Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Bonjour.

    Si tu poses un problème dans ce forum, c'est que tu as besoin d'aide ?
    Si ta formule ne fonctionne pas, c'est qu'il y des erreurs ?

    "si j'ai tapé sur le titre sommeSi tu dois savoir que c'est une erreur"
    Non ; pourquoi devrais-je le savoir ?

    "En plus je viens de me rendre compte que le Somme(Si sur la formule était différent de Somme.Si"
    C'est exactement ce que je te dis !

    "et saches qu'on peut utiliser cette dernière."
    C'est exactement ce que je te dis ! Donc je le sais ...
    0
  4. Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Et pour te prouver que je ne cherche qu'à t'aider, et pas du tout à te vexer, je t'indique que :

    1°) Il y a probablement une erreur quand tu écris " DLI " au lieu de "DLI", les espaces ayant toute leur importance puisqu'étant des caractères dans Excel (comme dans Word d'ailleurs).

    2°) Si, dans la feuille "document" du fichier "Ftemp11", tu avais donné à la plage B3:B600 le nom "matB" et à la plage J3:J600 le nom "matJ", ta longue formule

    SI(ESTERREUR(SOMME(SI([Ftemp11.xls]document!$B$3:$B$600=" DLI ";[Ftemp11.xls]document!$J$3:$J$600;0))/1000);0;SOMME(SI([Ftemp11.xls]document!$B$3:$B$600=" DLI ";[Ftemp11.xls]document!$J$3:$J$600;0))/1000)

    aurait pu finalement s'écrire de manière plus aérée

    SI(ESTERREUR(SOMME(SI([Ftemp11.xls]document!matB="DLI";[Ftemp11.xls]document!matJ;0))/1000);0;SOMME(SI([Ftemp11.xls]document!matB="DLI";[Ftemp11.xls]document!matJ;0))/1000)

    ... sans parler bien entendu de la fonction SOMME.SI
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Raymond PENTIER Messages postés 58218 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Tu n'as pas mis tes fichiers à notre disposition, et nous ne pouvons donc faire que des suppositions sur la structure de ceux-ci et la nature des valeurs calculées.

    En simplifiant ta formule pour mieux l'analyser, je peux écrire
    SI( ESTERREUR(SOMME(SI(matB="DLI";matJ;0))/1000) ;0; SOMME(SI(matB="DLI";matJ;0))/1000 )
    ce qui me conduit à estimer que le mot SOMME est tout-à-fait superlu, et qu'il suffit d'écrire
    SI( ESTERREUR(SI(matB="DLI";matJ;0)/1000) ;0; SI(matB="DLI";matJ;0)/1000 )

    D'autre part, s'il y a erreur dans SI(matB="DLI";matJ;0)/1000
    c'est qu'il y avait déjà erreur dans SI(matB="DLI";matJ;0)

    Donc ma formule simplifiée se réduit à
    SI( ESTERREUR(SI(matB="DLI";matJ;0)) ;0; SI(matB="DLI";matJ;0)/1000 )
    et ta formule complète sera
    SI( ESTERREUR(SI([Ftemp11.xls]document!matB="DLI";[Ftemp11.xls]document!matJ;0)) ;0; SI([Ftemp11.xls]document!matB="DLI";[Ftemp11.xls]document!matJ;0)/1000 )

    En conclusion, toute notre dispute sur SOMME.SI et SOMME(SI était infondée !
    0