Présence d'une chaîne et calculs

Fermé
Detartrax Messages postés 11 Date d'inscription jeudi 25 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018 - 25 oct. 2018 à 15:13
Mike-31 Messages postés 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 - 25 oct. 2018 à 16:40
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.

11 réponses

Mike-31 Messages postés 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 5 100
25 oct. 2018 à 15:22
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 jeudi 25 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018
25 oct. 2018 à 15:26
Mike-31, merci.
Mon fichier est là : https://www.cjoint.com/c/HJznzFYIFGS

D.
0
via55 Messages postés 14484 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 8 octobre 2024 2 731
25 oct. 2018 à 15:26
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 jeudi 25 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018
25 oct. 2018 à 15:30
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 14484 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 8 octobre 2024 2 731
25 oct. 2018 à 15:31
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 jeudi 25 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018
25 oct. 2018 à 15:33
Pas trop, non.
Même les formules matricielles ne s'appliquent pas ?

D.
0
via55 Messages postés 14484 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 8 octobre 2024 2 731
25 oct. 2018 à 15:40
Peut être mais je ne vois quelle matricielle bâtir là

0
via55 Messages postés 14484 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 8 octobre 2024 2 731
25 oct. 2018 à 15:46
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 jeudi 25 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018
25 oct. 2018 à 15:49
Merci beaucoup, je vais tester dès que possible.

D.
0
Mike-31 Messages postés 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 5 100
25 oct. 2018 à 16:02
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 jeudi 25 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018
25 oct. 2018 à 16:07
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 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 5 100
Modifié le 25 oct. 2018 à 16:20
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 jeudi 25 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018
25 oct. 2018 à 16:28
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 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 5 100
Modifié le 25 oct. 2018 à 16:48
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