Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Résolu: Cumul cellules selon test sur autres cellules

Olivier29b

XLDnaute Nouveau
bonjour
je dispose d'un fichier contenant des références dans la colonne A puis des prix dans les colonnes B.
Il arrive parfois que certaines références sont similaires sur 2 lignes ou plus (cf. lignes 18, 19, 20).
J'ai trié le fichier afin qu'il débute par ces lignes contenant des références multiples.

Je souhaiterais construire une formule qui teste les références de la colonne A et qui cumule les valeurs de la colonne B lorsque les références sont identiques.
Dans l'idéal, la cellule C2 contiendrait le cumul des cellules B2 et B3, la cellule C3 resterait vide ... la cellule C18 contiendrait le cumul des cellules B18+B19+B20 et les cellules C19 et C20 seraient vides.
Pour illustrer, j'ai joint une partie du fichier.

Auriez-vous une solution à me proposer?

PS: j'ai fait un TCD mais dans la mesure où il ne saute pas de ligne, je ne peux pas copier/coller le résultat à la fin du tableau de base, sauf à rajouter des cellules à la main ce qui est très fastidieux.
 

Pièces jointes

  • MATRICULES.xlsx
    8.4 KB · Affichages: 5

Olivier29b

XLDnaute Nouveau
@vgendron:
Il faudrait ensuite effectuer une recherche valeur dans le fichier de base pour récupérer les valeurs cumulées?
En PJ un nouveau fichier plus proche du fichier de base avec dans la colonne B en rose les doubles-matricules et dans la colonne C le résultat souhaité
 

Pièces jointes

  • MATRICULES.xlsx
    8.9 KB · Affichages: 1

Olivier29b

XLDnaute Nouveau
@sylvanu: merci pour l'accueil
Le fichier original est structuré avec les références en colonne B et les prix en colonne M.
J'ai modifié la formule pour en tenir compte:
=SI(OU(NB.SI(B$1:B1;B2)>=1;NB.SI(B2:B10000;B2)=1);"";SOMME.SI(B:B;B2;M:M))

Mais la formule fonctionne uniquement pour les lignes contenant plusieurs références identiques tandis que pour les lignes contenant une référence unique, la case reste vide (càd le "" de la formule, je suppose?).
Mon 2e fichier serait plus explicite quand au résultat souhaité.
J'ai essayé en rajoutant à la fin de la formule Sinon M2 mais j'obtiens un #VALEUR! et en ajoutant ;M2 avant la dernière parenthèse fermante, j'obtiens un message d'erreur "Vous avez entré un nombre trop important d'arguments pour cette fonction" et si je remplace les "" par M2 il affiche les valeurs pour les lignes uniques, fait le cumul pour les lignes multiples mais ajoute également la valeur de la seconde ligne multiple (1804,33333):
REFERENCEPRIXCUMUL
014314500000000
410​
410​
015533800000000
59,3333333​
59,3333333​
015590100000000
325​
2129,33333​
015590100000000
1804,33333​
1804,33333​
015669900000000
3,16666667​
3,16666667​
015837200000000
72,5​
72,5​
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Normal, c'est ce que j'avais compris :
qui cumule les valeurs de la colonne B lorsque les références sont identiques.
Sous entendu, pour les valeurs uniques, on ne fait rien.

En PJ, c'est rectifié. Qui plus est cela simplifie la formule :
VB:
=SI(NB.SI(A$1:A1;A2)>=1;"";SOMME.SI(A:A;A2;B:B))
 

Pièces jointes

  • MATRICULES (1).xlsx
    9.4 KB · Affichages: 3

Olivier29b

XLDnaute Nouveau
J'ai lu les 3 pages du post relatif à la façon de signaler un message comme ayant apporté une solution, mais il semble obsolète (indique au début "obsolète suite à la mise à jour du 22/12/2020") et renvoie vers une nouvelle page qui mentionne comment faire maintenant:
Il faut cliquer sur le bouton "Côche" (cf.pj) situé à droite du message proposant la solution, ce que je viens de faire
Du coup le message contient une côche verte après la cloche, dans le forum:
 

Pièces jointes

  • 1669649141402.png
    638 bytes · Affichages: 18
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…