Trouver une correspondance

Résolu
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   -  
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   -
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

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
(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
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
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
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
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
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438 > nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
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
nonossov Messages postés 610 Date d'inscription   Statut Membre Dernière intervention  
 
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
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
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
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
Sinon :
Convertir les données de la colonne A en texte (dans l'onglet données, groupe outils de données, cliquer sur « Convertir », puis à la 3e étape, sélectionner « Texte ».)
Puis formule :
=SOMME.SI.ENS(B1:B4;A1:A4;"6*")

(Merci à gFTZ82 pour la deuxième solution : https://www.developpez.net/forums/d1282694/logiciels/microsoft-office/excel/somme-ens-critere-commence-chiffre/
0