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

sommeprod selon valeur partie droite dans une cellule

14 réponses
Avatar
J
Bonjour à tous (XL2000)

En col B, du texte et une année, par exemple : Tagada 2007
En col D des chiffres,
En H2 une année, par exemple : 2007.

Je cherche à faire la somme des chiffres en col D quand la date dans la
partie droite de la cellule en col B est égale à la valeur en H2.

La formule =SOMMEPROD((B2:B200=2007)*D2:D200) marche si la date est
seule dans la cellule.

J'essaie avec =ANNEE(DROITE(B117;4)) de récupérer la date en B, ce qui
ne marche pas :-{

Comment bidouiller ces formules, svp?
Merci pour l'aide

@+
J@@

4 réponses

1 2
Avatar
JRM
RE bis...
Petit complément :
Ellimac // OK =SOMMEPROD((droite(B2:B20;4) 07)*D2:D20)


En l'état cette formule ne fonctionne pas : il faut mettre le critère
entre guillemets : =SOMMEPROD((droite(B2:B20;4)="2007")*D2:D20).
Avantages de cette formule : elle fonctionne que tu aies une date ou un
chiffre en H2. Inconvénient : le critère est inscrit en dur.

--
Bonsoir,
JRM.

Bonjour JRM
et merci pour ta suggestion.
Elle me retourne 0.
J'ai 3 approches différentes, mais je n'arrive pas à comprendre pourquoi
elles donnent un résultat différent...

Ellimac // OK =SOMMEPROD((droite(B2:B20;4) 07)*D2:D20)

Isabelle // OK =SOMMEPROD((DROITE(B2:B20;4)=TEXTE(H2;"aaaa"))*D2:D20)

me retournent 0:
Patrick =SOMMEPROD((DROITE(B2:B20;4)=ANNEE(H2))*D2:D20)
JRM =SOMMEPROD((DROITE(B2:B20;4)=""&INDIRECT("H2")&"")*D2:D20)

En H2, il y a une date formatée aaaa
En B il s'agit de texte comportant parfois une date (mais c'est du texte)

Les mystères d'Excel me sont insondables.
Si qq'un arrive à m'expliquer ...

Merci encore
cordialement
J@@

Bonjour,
Avec un peu de retard et pour compléter les réponses précédentes : une
approche avec la fonction Indirect()

=SOMMEPROD((DROITE(B2:B16;4)=""&INDIRECT("I1")&"")*D2:D16)

Cordialement,
JRM

Bonjour à tous (XL2000)

En col B, du texte et une année, par exemple : Tagada 2007
En col D des chiffres,
En H2 une année, par exemple : 2007.

Je cherche à faire la somme des chiffres en col D quand la date dans
la partie droite de la cellule en col B est égale à la valeur en H2.

La formule =SOMMEPROD((B2:B200 07)*D2:D200) marche si la date est
seule dans la cellule.

J'essaie avec =ANNEE(DROITE(B117;4)) de récupérer la date en B, ce
qui ne marche pas :-{






Avatar
J
Super, JRM, cela fonctionne.
Je viens de comprendre les & et les doubles guillemets ...
Pour la formule de Ellimac, je l'avais corrigée, mais avais mis la
version initiale dans le message :-)
Encore merci
@+
J@@

Re...
Mea culpa...Je suis parti du principe que tu n'avais besoin que de
l'année. J'ai donc fait mes tests avec une cellule au format Standard et
contenant simplement : 2007.

Donc deux solutions :
1°) =SOMMEPROD((DROITE(B2:B20;4)=""&INDIRECT("H2")&"")*D2:D20)
Cette formule fonctionne si tu saisis simplement l'année au format
standard. Ex. : 2007

2°) =SOMMEPROD((DROITE(B2:B20;4)=""&ANNEE(H2)&"")*D2:D20)
J'ai adapté la formule de Patrick. Elle fonctionnera si tu saisies une
date en H2. Ex. : 1/1/2007.

Bonjour JRM
et merci pour ta suggestion.
Elle me retourne 0.
J'ai 3 approches différentes, mais je n'arrive pas à comprendre
pourquoi elles donnent un résultat différent...

Ellimac // OK =SOMMEPROD((droite(B2:B20;4) 07)*D2:D20)
Isabelle // OK =SOMMEPROD((DROITE(B2:B20;4)=TEXTE(H2;"aaaa"))*D2:D20)

me retournent 0:
Patrick =SOMMEPROD((DROITE(B2:B20;4)=ANNEE(H2))*D2:D20)
JRM =SOMMEPROD((DROITE(B2:B20;4)=""&INDIRECT("H2")&"")*D2:D20)

En H2, il y a une date formatée aaaa
En B il s'agit de texte comportant parfois une date (mais c'est du texte)

Avec un peu de retard et pour compléter les réponses précédentes :
une approche avec la fonction Indirect()

=SOMMEPROD((DROITE(B2:B16;4)=""&INDIRECT("I1")&"")*D2:D16)

En col B, du texte et une année, par exemple : Tagada 2007
En col D des chiffres,
En H2 une année, par exemple : 2007.

Je cherche à faire la somme des chiffres en col D quand la date dans
la partie droite de la cellule en col B est égale à la valeur en H2.

La formule =SOMMEPROD((B2:B200 07)*D2:D200) marche si la date est
seule dans la cellule.

J'essaie avec =ANNEE(DROITE(B117;4)) de récupérer la date en B, ce
qui ne marche pas :-{








Avatar
JRM
Ok, merci pour le retour et bon week-end.

--
JRM

Super, JRM, cela fonctionne.
Je viens de comprendre les & et les doubles guillemets ...
Pour la formule de Ellimac, je l'avais corrigée, mais avais mis la
version initiale dans le message :-)
Encore merci
@+
J@@

Re...
Mea culpa...Je suis parti du principe que tu n'avais besoin que de
l'année. J'ai donc fait mes tests avec une cellule au format Standard
et contenant simplement : 2007.

Donc deux solutions :
1°) =SOMMEPROD((DROITE(B2:B20;4)=""&INDIRECT("H2")&"")*D2:D20)
Cette formule fonctionne si tu saisis simplement l'année au format
standard. Ex. : 2007

2°) =SOMMEPROD((DROITE(B2:B20;4)=""&ANNEE(H2)&"")*D2:D20)
J'ai adapté la formule de Patrick. Elle fonctionnera si tu saisies une
date en H2. Ex. : 1/1/2007.

Bonjour JRM
et merci pour ta suggestion.
Elle me retourne 0.
J'ai 3 approches différentes, mais je n'arrive pas à comprendre
pourquoi elles donnent un résultat différent...

Ellimac // OK =SOMMEPROD((droite(B2:B20;4) 07)*D2:D20)
Isabelle // OK =SOMMEPROD((DROITE(B2:B20;4)=TEXTE(H2;"aaaa"))*D2:D20)

me retournent 0:
Patrick =SOMMEPROD((DROITE(B2:B20;4)=ANNEE(H2))*D2:D20)
JRM =SOMMEPROD((DROITE(B2:B20;4)=""&INDIRECT("H2")&"")*D2:D20)

En H2, il y a une date formatée aaaa
En B il s'agit de texte comportant parfois une date (mais c'est du
texte)

Avec un peu de retard et pour compléter les réponses précédentes :
une approche avec la fonction Indirect()

=SOMMEPROD((DROITE(B2:B16;4)=""&INDIRECT("I1")&"")*D2:D16)

En col B, du texte et une année, par exemple : Tagada 2007
En col D des chiffres,
En H2 une année, par exemple : 2007.

Je cherche à faire la somme des chiffres en col D quand la date
dans la partie droite de la cellule en col B est égale à la valeur
en H2.

La formule =SOMMEPROD((B2:B200 07)*D2:D200) marche si la date est
seule dans la cellule.

J'essaie avec =ANNEE(DROITE(B117;4)) de récupérer la date en B, ce
qui ne marche pas :-{










Avatar
J
Bonjour Patrick
Merci pour ces explications. Comme tu le dis, attention à ne pas
confondre 2007 et 2007. ;-)
J'étais bien incapable de corriger de moi-même.
Te voilà en effet aussi dans le clan des OK :-)
Et bon week-end (ou ce qu'il en reste)
amicalement
J@@


Bonjour, *J@@*

Suite à ton post de 20:22, j'ai vérifié la proposition que je t'avais
envoyée :

=SOMMEPROD((droite(B2:B200;4)=Annee(H2))*D2:D200)


Or : Droite(B2:B200,4) renvoie l'année sous format texte
et : Année(H2) renvoie l'année sous format nombre.

D'où l'erreur : pour Excel, 2007 en nombre n'est pas égal à 2007 en texte,
malgré les apparences...

Il suffit donc de multiplier le texte par 1 pour le transformer en nombre :

=SOMMEPROD((droite(B2:B200;4)*1=Annee(H2))*D2:D200)

résoud donc le problème, et rejoint les solutions de Camille et d'Isabelle
dans le clan des "OK"

Cette explication te convient-elle ?




1 2