Présence d'une chaîne et calculs

Detartrax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Rebonjour,

Dans le même thème que ma question précédente...
J'ai un tableau composé en colonne A de textes et en colonne B de nombres :

chaine valeur
chaine1 1
gnagnagnaid1 2
chaine2 4
gnignigniid2 8
chaine3 16
gnagnaid1 32

En C, j'ai des identifiants :

Identifiants
id1
id2
id3

Je cherche une formule qui me donne la somme des valeurs figurant à droite d'une chaîne où apparaît un identifiant.
Si je ne dis pas trop de sottise, dans notre cas, ça devrait donner 42 (Douglas Adams rules).

Merci,

D.

A voir également:

11 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

l'idéal serait que tu crées un exemple de fichier anonymisé et que tu le joignes à la discussion
pour joindre ton fichier
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

dans le même style tu as https://mon-partage.fr/
0
Detartrax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Mike-31, merci.
Mon fichier est là : https://www.cjoint.com/c/HJznzFYIFGS

D.
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Une possibilité
En D1 mettre =SOMME.SI(A:A;"*" & C1 &"*";B:B) puis étirer vers le pas
Ensuite la somme de la colonne C te donnera le résultat attendu

Cdlmt
Via

0
Detartrax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ton retour.
En revanche, je souhaite une formule dans une seule cellule si c'est possible.

Cordialement,

D.
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Pas possible sauf avec une fonction personnalisée en VBA
Tu connais le VBA ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Detartrax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Pas trop, non.
Même les formules matricielles ne s'appliquent pas ?

D.
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Peut être mais je ne vois quelle matricielle bâtir là

0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
En ce qui concerne la fonction personnalisée
Onglet Developpeur - VisualBasic
Insertion puis Module
Copier coller la macro suivante dans la page blanche et fermer l'éditeurVBA
Function identif(plage1 As Range, plage2 As Range)
For Each cell In plage2
For Each cell2 In plage1
On Error Resume Next
If Application.WorksheetFunction.Search(cell2, cell) > 0 Then Total = Total + Range("B" & cell2.Row)
Next
Next
identif = Total
End Function

S'utilise comme une fonction selon la syntaxe =identif(plage des identifiants;plage des chaînes)
ex : =identif(C2:C4;A2:A7)

Cdlmnt
Via
0
Detartrax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup, je vais tester dès que possible.

D.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Pour ma part je ne comprends pas comment tu devrais avoir 42
et à quoi correspond (Douglas Adams rules)
0
Detartrax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Donc.
On retrouve deux des identifiants recherchés en A2, A5 et A7.
B2 = 2, B5 = 8 et B7 =32, la somme vaut 42.
Et dans le Guide du Voyageur Galactique, du regretté Douglas Adams, on apprend avec sidération que la réponse à la question fondamentale de la vie, de l'univers et du reste est 42.

Aloa,

D.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,
je m'excuse mais je ne comprends pas "On retrouve deux des identifiants recherchés en A2, A5 et A7"
suit le fil de Via que je salue voir s'il est sur la voie

0
Detartrax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Il est plus que sur la voie, sa fonction que je vient de tester donne les 42 attendus.
Pour préciser : je cherche dans la colonne A les occurrences de id1, id2 et id3.
Id1 apparaît en A2 (gnagnagnaid1) et en A7 (gnagnaid1), id2 apparaît en A5 (gnignigniid2).

Donc Via55, merci beaucoup !
Puis-je en revanche attendre un peu avant de déclarer la question résolue ?
Des fois qu'on puisse trouver une formule...
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Ah oui la c'est plus clair et il faut bien passer par du VBA ou ajouter une colonne pour passer par une formule
je suis la discussion voir si on se lance dans cette voie

mais sur le fichier que tu as mis en ligne en A2 chaine1 et non gnagnagnaid1 qui est en A3 etc ... enfin le principal est que tu sois sur la voie de la solution

0