Trouver une correspondance

Résolu
nonossov Messages postés 638 Statut Membre -  
nonossov Messages postés 638 Statut Membre -
Bonjour à tous,
je compte sur vous mes chèrs amis,
je suis en besoin d'une formule qu'elle peut me donner la somme d'une valeur recherchée.

Exemple:
je veux chercher tous les chiffres qui commencent par 6 et dans un champs de recherche et de me donner la somme de ces chiffres exmple:
A1; B1
6111 ; 5
6222;10
5888;8
6999;5

Alors la résultat sera: 20

Merci infiniment mes amis

2 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    =SOMMEPROD((GAUCHE(A1:A4;1)*1=6)*(B1:B4))

    et au cas ou le champ en A contienne des cellules vides:

    =SOMMEPROD((SI(A1:A4<>"";GAUCHE(A1:A4;1)*1)=6)*(B1:B4))

    crdlmnt
    7
    1. ButteDuLac Messages postés 534 Statut Membre 41
       
      (Oups, merci Vaucluse... pendant que je cherchais, votre réponse a été postée plus vite que la mienne... et on n'a jamais fini d'apprendre!)
      0
    2. ButteDuLac Messages postés 534 Statut Membre 41
       
      Par contre, j'essaie de comprendre...
      SOMMEPROD fait normalement la multiplication des valeurs d'une colonne par les valeurs d'une autre colonne puis les additionne...
      Donc, ça devrait faire 6111*5+6222*10+6999*5, non?
      Est-ce que la fonction intégrée (GAUCHE(A1:A4;1)*1=6) renvoie la valeur 1 (car vrai=1) et ainsi multiplie le résultat de la colonne B par 1? C'est ça?
      0
    3. nonossov Messages postés 638 Statut Membre
       
      Mr Vaucluse est ce que cette formule fonctionne sur excel 2003??
      =SOMMEPROD((SI(A1:A4<>"";GAUCHE(A1:A4;1)*1)=6)*(B1:B4))

      Merci
      0
    4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453 > nonossov Messages postés 638 Statut Membre
       
      Re

      pour Nonosov:

      oui elle fonctionne sur 2003 du moins elle devrait

      pour butte du lac

      ce n'est pas tout à fait ça
      lorsque un item de SOMMEPROD comporte une égalité (champ =X ou champ Q> ou <X par exemple, le code compte 1 à chaque fois que l'égalité est vérifiée et si l'item ne comporte que l'adresse du champ, elle somme les lignes ou l'égalité précédente est vérifiée
      par exemple:

      =SOMMEPROD((Champ1=1)*(champ2=2)) va compter toutes le lignes ou champ1 =1 et champ 2=2 (soit 1*1 à chaque vérif et sommer les résultats, donc compter le nombre de lignes vérifiées)

      SOMMEPROD((Champ1=1)*(Champ2))
      va multiplier par 1 les valeurs ,de champ 2 sur les lignes ou champ1 =1 et sommer les résultats (soit donc 1*valeur champ2 chaque fois que champ1=1 et sommer les résultats)


      vous pouvez ajouter autant d'item que nécessaire

      crdlmnt

      si
      0
    5. nonossov Messages postés 638 Statut Membre
       
      Merci Vaucluse pour la reponse mais, pour cette formule
      =SOMMEPROD((SI(A1:A4<>"";GAUCHE(A1:A4;1)*1)=6)*(B1:B4)) 
      elle ne marche pas je reçoit le ''=/= valeur!''
      0
  2. ButteDuLac Messages postés 534 Statut Membre 41
     
    Bonjour,
    Il faudrait svp être plus clair.
    Tout d'abord, distinguer chiffre et nombre. (Ex. : 6 est un chiffre, 26 est un nombre...)
    Donc, si je comprends bien, vous voulez chercher en colonne A toutes les valeurs dont le nombre débute par le chiffre 6.
    Ensuite, trouver la valeur correspondante dans l'enregistrement (ligne) à la colonne B.
    Puis additionner toutes les valeurs en B pour lesquelles un nombre débutant par 6 se trouve correspondant à la colonne A?
    Est-ce que vos valeurs en A sont toujours dans les quatre chiffres, comme dans votre exemple? Si oui, simplement en faisant :
    =SOMME.SI.ENS(B1:B4;A1:A4;">=6000";A1:A4;"<7000")
    Mais j'imagine que ce n'est pas aussi simple...
    1