Ignorer une lettre dans une cellule

Bonjour,

J'additionne un nombre de cellules avec sommeprod suivant la condition supérieur ou inférieur d'un nombre sur une plage de cellules.

Seulement les cellules de cette plage sont composé d'un nombre et d'une lettre. Ce qui fait planter la formule.

Je voudrez avec sommeprod ( je ne peux pas utiliser SOMME.SI.ENS car je suis sous exel 2003) ignorer la composante texte de ma cellule, pour qu'il addition sans buguer.

Cela est-il possible ?

En vous remerciant d'avance.

7 réponses

  1. Bonjour,

    La composante texte se trouve-t-elle toujours au même endroit (1ère position / 2ème position, ...) ?

    Dolgan
    0
    1. Elle est toujours en dernière position, mais les nombres sont variables.

      C'est très bizarre car sommeprod bug en me donnant un résultat abérrant, mais ne me marque pas d'erreur du genre N/A ou Valeur .

      NB: la lettre est en fait soit un ? ou un !
      0
      1. Donc s'il n'y a qu'un "?" ou un "!" uniquement en dernière position, cette formule te donnera le nombre à additionner, sans la composante texte :

        (si ta valeur est en A1)
        =GAUCHE(A1;NBCAR(A1)-1)

        Tu peux faire ça pour chacune de tes valeurs (cliquer-glisser). Puis tu termines en les additionnant avec SOMMEPROD.
        0
      2. Bonjour,
        Pour ne plus avoir une valeur de texte il faut multiplier par 1:
        =GAUCHE(A1;NBCAR(A1)-1)*1
        0
      3. Bonjour,

        Merci de vos réponse, mais je n'y arrive pas .

        Voici la formule,

        SOMMEPROD((Feuil1!$D$2:$D$8086="Gemcitabine")*((GAUCHE(Feuil1!$N$2:$N$8086;(NBCAR(Feuil1!$N$2:$N$8086)-1)*1))>ABS(10))*((GAUCHE(Feuil1!$N$2:$N$8086;(NBCAR(Feuil1!$N$2:$N$8086)-1)*1))<ABS(15))).

        Pour le coup j'ai une erreur de #valeur...
        0
      4. PS: Si j'enlève les "*1" aux NBCAR ça ne marche pas non plus, et j'ai aussi une erreur de valeur
        0
      5. PS 2: Si je mets un + à la place du - j'ai pas d'erreur valeur, du coup je me demande le "-" du clavier numérique est bien un moins et non un tiré du 6 ?
        0
    2. Bonjour,
      Les #Valeur! viennent des cellules de la colonne N qui sont vides ou qui ne contiennent qu'un chiffre.
      Essayez de créer une colonne auxiliaire avec cette formule recopiée sur la hauteur et d'utiliser cette colonne (numérique) dans le Sommeprod.
      =1*SI(N2="";0;SUBSTITUE(SUBSTITUE(N2;"?";"";1);"!";"";1))

      Nota: la fonction ABS() ne sert à rien ABS(10) fera toujours 10!
      0
      1. Nota: dans ma plage j'ai des valeurs négatives.

        J'ai crée une colonne auxiliaire avec cette formule :=SI(ESTVIDE(Feuil1!$N$2:$N$8075);"";GAUCHE(Feuil1!$N$2:$N$8075;NBCAR(Feuil1!$N$2:$N$8075)-1)).

        Cela m'affiche correctement le nombre sans le chiffre.

        Seulement quand je dis à sommeprod d'utiliser la colonne auxiliaire il bug. ( Alors que si je fais un copié collé du résultat qui affiche seulement la valeur du résultat) il me donne les bonnes valeurs.

        Donc je pense qu'il y a un problème avec le suivi de formule . Cela devient trop compliqué je mets le fichier en cijoint.

        http://cjoint.com/?DIwmWBTGkT0

        Je veux compter le nombre de cellules de la feuille 1 comprenant un % erreur compris entre 10 et 15 et le nombre supérieur à 15; ( Le reste de mon tableau fonctionne parfaitement, juste que je n'ai pas mis les valeurs dans la feuil 1 par soucis de simplification.)

        Ici J'ai mis que les donnés de la Gemcitabine
        0
      2. Contributeur
        Bonjour
        pour tranfoirmer votre colonne en num, il en faut un peu plus que ce que vous ave'z prévu

        .votre valeur référence comporte un pont au lieu d'une virgule
        le nombre de caractère texte est de deux puisqu'il y a un blanc (mais ça n'influe pas sur la formule)
        le code GAUCHE renvoie du texte, donc ne peut pas servir en l'état à des calculs
        la bonne formule en ligne 2 pour transformer en num:

        =SI(N2="";0;GAUCHE(SUBSTITUE(N2;".";",");NBCAR(N2)-1)*1)

        après quoi vous devriez pouvoir fonctionner

        crdlmnt
        0
    3. Les valeurs affichées dans les colonnes U et V sont des textes, elles ressemblent à des nombres mais ne sont pas des nombres. Faites un test avec =ESTNUM(U2).
      Il faut aussi remplacer les points par des virgules.Essayez:
      =1*SI(N2="";0;SUBSTITUE(SUBSTITUE(SUBSTITUE(N2;".";",";1);"?";"";1);"!";"";1))

      À quoi servent les ? et les ! ? Ne serait-il pas plus simple d'afficher directement le % en valeur numérique en adaptant les 3 conditions de Mfc?
      0
      1. Bonjour;

        J'ai essayé vos deux fonctions, malheureusement l'une et l'autre me renvoit #valeur.
        0
        1. J'ai enlevé le *1 dans la formule, je n'ai plus le renvoit de #valeur, mais bien du nombre avec une ",". Seul soucis ESTNUM est toujours faux.
          0
      2. Contributeur
        Bonjour,

        Sans colonnes intermédaires, à tester.
        En F2 :
        =SOMMEPROD((Feuil1!$D$2:$D$43=A2)*(--GAUCHE(Feuil1!$N$2:$N$43;NBCAR(Feuil1!$N$2:$N$43)-2)>10)*(--GAUCHE(Feuil1!$N$2:$N$43;NBCAR(Feuil1!$N$2:$N$43)-2)<15))
        Tu devrais te définir des plages dynamiques pour $D$2:$D$43 et $N$2:$N$43.
        Gauche() d'une cellule vide ça ne le fait pas.
        Nommer une Plage Dynamique
        eric
        0