Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment calculer cela ?

8 réponses
Avatar
alicantenator
Salut,

J'ai dans la colonne A les donn=E9es suivantes :

B-M300-1
B-M400-1
B-M400-2
Sm-M500-1
Sm-M600-1
So-M400-1
Vt-M400-1
Vt-M500-1
Vt-M700-1

Dans la colonne B :

10
10
12
8
11
10
21
13
14

Je dois calculer toutes les valeurs dans les colonne B qui
correspondent =E0 la valeur M400 dans la colonne A.

Alors comment je dois faire pour trouver la sous-chaine M400 (ou
comment dire ou programme de ne prendre que ce qui est entre les (-)
et (-) et ensuite faire le calcul) ?

Merci.

8 réponses

Avatar
anonymousA
Bonjour,

En supposant que ta zone de recherches s'appelle donnees et que la zone
contenant les valeurs s'appelle valeurs
une solution parmi d'autres (en matricielle Ctrl+MAJ+Entrée)

=SOMMEPROD(SI(NON(ESTERREUR(CHERCHE("M-400";donnees;1)));1;0)*valeurs)

Attention,insensible à la casse. Pour garder la sensibilité à la casse,
utiliser TROUVE.

A+





Salut,

J'ai dans la colonne A les données suivantes :

B-M300-1
B-M400-1
B-M400-2
Sm-M500-1
Sm-M600-1
So-M400-1
Vt-M400-1
Vt-M500-1
Vt-M700-1

Dans la colonne B :

10
10
12
8
11
10
21
13
14

Je dois calculer toutes les valeurs dans les colonne B qui
correspondent à la valeur M400 dans la colonne A.

Alors comment je dois faire pour trouver la sous-chaine M400 (ou
comment dire ou programme de ne prendre que ce qui est entre les (-)
et (-) et ensuite faire le calcul) ?

Merci.



Avatar
jacques77
Bonjour,
La formule suivante devrait convenir :
=SOMME.SI(A2:A10;"*M400*";B2:B10)
a écrit dans le message de news:

Salut,

J'ai dans la colonne A les données suivantes :

B-M300-1
B-M400-1
B-M400-2
Sm-M500-1
Sm-M600-1
So-M400-1
Vt-M400-1
Vt-M500-1
Vt-M700-1

Dans la colonne B :

10
10
12
8
11
10
21
13
14

Je dois calculer toutes les valeurs dans les colonne B qui
correspondent à la valeur M400 dans la colonne A.

Alors comment je dois faire pour trouver la sous-chaine M400 (ou
comment dire ou programme de ne prendre que ce qui est entre les (-)
et (-) et ensuite faire le calcul) ?

Merci.
Avatar
alicantenator
Merci pour vous deux de votre aide.

D'une façon générale, avec les même données comment peut-on avoir
cette résultat :

Dans la colonne D :

m300
m400
m500
m600
m700

Dans la colonne C avec la formule SOMMEPROD :

10
53
21
11
14


Avec :

C1 =SOMMEPROD(($A$1:$A$10=$D1)*($B$1:$B$10))
C2 =SOMMEPROD(($A$1:$A$10=$D2)*($B$1:$B$10))
C3 =SOMMEPROD(($A$1:$A$10=$D3)*($B$1:$B$10))
C4 =SOMMEPROD(($A$1:$A$10=$D4)*($B$1:$B$10))
.....
C5 =SOMMEPROD(($A$1:$A$10=$D10)*($B$1:$B$10))

Merci.
Avatar
anonymousA
si on suppose que le 1er caractère "-" est avant tes Mquelque chose

=STXT(donnees;TROUVE("-";donnees)+1;4)

renverra les 4 caractères situés au dela du caractère "-"

Ensuite, il te suffit d'apppliquer le résultat produit par cette formule
dans la proposition de Jacques 77 ou la mienne.

A+


Merci pour vous deux de votre aide.

D'une façon générale, avec les même données comment peut-on avoir
cette résultat :

Dans la colonne D :

m300
m400
m500
m600
m700

Dans la colonne C avec la formule SOMMEPROD :

10
53
21
11
14


Avec :

C1 =SOMMEPROD(($A$1:$A$10=$D1)*($B$1:$B$10))
C2 =SOMMEPROD(($A$1:$A$10=$D2)*($B$1:$B$10))
C3 =SOMMEPROD(($A$1:$A$10=$D3)*($B$1:$B$10))
C4 =SOMMEPROD(($A$1:$A$10=$D4)*($B$1:$B$10))
.....
C5 =SOMMEPROD(($A$1:$A$10=$D10)*($B$1:$B$10))

Merci.



Avatar
alicantenator
J'ai essaye ta solution mais elle me donne une erreur : #VALEUR!

=STXT(A1:A10;TROUVE("-";A1:A10)+1;4)

Et puis les valeurs contenues entre les (-) ne se limitent pas à 4
caractères seulement. Il peut s'étendre à plus de 4.
Avatar
alicantenator
J'ai trouvé une formule qui me donne ça :

=STXT(A1;CHERCHE("-";A1)+1;NBCAR(A1)-CHERCHE("-";A1)-2)

M300
M400
M400
M500
M600
M400
M400
M500
M700
M11000

Mais avec des doublons !!

Y'a-t-il pas un moyen de coder tout cela dans une macro avec
elimination de doublons et calcul en même temps des sommes de chaque
donnée ?
Avatar
alicantenator
En VBA, j'ai trouve cette ligne pour extraire des données sans
doublons :

If Target.Column = 1 And Target.Count = 1 Then
[A1:A10].AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Sheets("Feuil2").Range("A1"), Unique:=True
Sheets("feuil2").Range("a2:a10").Sort
key1:=Sheets("feuil2").Range("a2")
End If


Comment peut-on la combiner avec STXT et l'appliquer sur mon cas ?

Merci.
Avatar
Alicante
Une idée SVP !