Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Sommeprod renvoi #valeur! ou #nom?


Sujet :

Excel

  1. #1
    Membre du Club
    Sommeprod renvoi #valeur! ou #nom?
    Bonjour,

    Je fais une formule sommeprod pour calculer un temps de traitement moyen d'un sujet en fonctions de critères (sujets toujours en cours, dans une zone donnée,...). Cette formule (déclinées en plusieurs versions assez similaire) me renvoi #valeur! ou #nom?.

    Je précise :
    - Il y a des données texte, date et, nombre (dans des colonnes différentes, dans chaque colonne il n'y a qu'un seul type de données)
    - le données sont dans un tableau donc il n'y a pas de soucis de tailles de matrices différentes (format dans la formule de type Tableau1[zone1])

    La formule qui renvoi #valeur! :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    =SOMMEPROD((Tableau1[Country]="TMHMI")*(Tableau1[Judgment 
    date]="")*(Tableau1[Department 
    in charge ]="Supplier QA")*(Tableau1[Current 
    duration]))+SOMMEPROD((Tableau1[Country]="TMHMI")*(Tableau1[Judgment 
    date]="")*(Tableau1[SQA]))


    La formule qui renvoi #nom? :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    =SI(Tableau1[Starting date]="";SOMMEPROD((Tableau1[Country]="TMHMI")*(Tableau1[Judgment 
    date]="")*(AUJOURDHUI()-Tableau1[Claim date]-Tableau1[CQA]-Tableau1[Design]-Tableau1[Assembly]-Tableau1[Welding]-Tableau1[SQA]-Tableau1[Special]));SOMMEPROD((Tableau1[Country]="TMHMI")*(Tableau1[Judgment 
    date]="")*(AUJOURDHUI()-Tableau1[Claim date]-Tableau1[CQA]-Tableau1[Design]-Tableau1[Assembly]-Tableau1[Welding]-Tableau1[SQA]-Tableau1[Special]-(AUJOURDHUI()-Tableau1[Starting date]))))



    Par ailleurs, qu'elle est la différence entre :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    =SOMMEPROD((Tableau1[zone1] = "Toto")*(Tableau1[zone2] = AUJOURDHUI()))
    et
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    =SOMMEPROD((Tableau1[zone1] = "Toto");(Tableau1[zone2] = AUJOURDHUI()))

    En gros, quelle est la différence entre le * et le ; ?

    Merci d'avance pour votre éclairage et bonne journée

  2. #2
    Rédacteur

    Bonjour,
    Pour moi la formule =SOMMEPROD((Tableau1[zone1] = "Toto");(Tableau1[zone2] = AUJOURDHUI())) renverra 0 alors que =SOMMEPROD((Tableau1[zone1] = "Toto")*(Tableau1[zone2] = AUJOURDHUI())) renverra le nombre de cellules répondant aux conditions.

    En gros, quelle est la différence entre le * et le ; ?
    Le point virgule sert à séparer les arguments l'astérisque sert à multiplier.

    La fonction SOMMEPROD à pour but de renvoyer la somme du produit des tables définies dans ces arguments.

    Quelqu'un un jour a découvert un moyen détourné pour effectuer des sommes conditionnelles avec cette fonction.
    Pour le comprendre il faut savoir que VRAI vaut 1 et FAUX vaut 0 donc lorsque l'on place comme argument dans la fonction SOMMEPROD la condition (Tableau1[zone1] = "Toto") nous aurons un matrice de VRAI et de FAUX que l'on multipliera par la matrice (Tableau1[zone2] = AUJOURDHUI()) donc s'il y a 20 cellules contenant Toto et 3 cellules sur les mêmes lignes contenant la date du jour, la fonction SOMMEPROD renverra 3 mais si on multiplie par une autre colonne qui contient par exemple le chiffre d'affaires, nous aurons la somme de cette dernière colonne si sur la même ligne il y a "Toto" et la date du jour.

    Pour mieux comprendre ce principe, lire mon billet Comment remplacer la fonction SI par une opération logique ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

  3. #3
    Membre du Club
    Bonjour,

    Merci pour votre retour ainsi que pour votre billet qui est grandement appréciable.

    Suite à la lecture de votre billet je me suis mis à vérifier si chacune des conditions pouvait être vrai ou fausse (sauf la dernière qui est un nombre et qui sert au calcul en tant que tel).
    Mais je n'ai pas trouvé la cause de mon soucis.
    J'en profite pour préciser que j'ai d'autres formules utilisant SOMMEPROD dans le même fichier, avec des données issues du même tableau, et qui fonctionne.
    J'ai aussi vérifier les données des colonnes que j'utilise dans mes formules et je n'y ai pas détecté d'anomalies.

    Avez-vous des pistes pour expliquer le résultat (#Nom? ou # Valeur!) svp?

    Merci d'avance et bonne journée

  4. #4
    Rédacteur

    Ce message n'a pas pu être affiché car il comporte des erreurs.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

  5. #5
    Membre du Club
    Pour être honnête, je n'ai pas trouvé ce qui ne faisait que la formule renvoyait #Valeur (peut-être que mes colonne avec des formules renvoyant "" mettaient le bazar...).
    Mais le fait de mettre le ";" a bien fonctionner.

    Merci beaucoup, je valide le sujet comme résolu.

    Bonne journée

###raw>template_hook.ano_emploi###