Somme des X dernières valeurs d'une colonnes

lrnt

XLDnaute Nouveau
Bonjour à tous,

Je souhaite faire la somme des X dernières valeurs d'une colonne.
Sachant que certaines cellules peuvent être égales à 0 et certaines peuvent être vides

Comment faire?
 

Pièces jointes

  • somme.xls
    30 KB · Affichages: 138
  • somme.xls
    30 KB · Affichages: 128
  • somme.xls
    30 KB · Affichages: 120

job75

XLDnaute Barbatruc
Re : Somme des X dernières valeurs d'une colonnes

Bonjour lrnt, bienvenue sur XLD,

J'arrive à une formule assez compliquée, il y a peut-être plus simple.

Donc formule matricielle en D16 :

Code:
=SOMME(SI(ESTNUM(D2:D15);D2:D15*ESTNUM(EQUIV(LIGNE(D2:D15);GRANDE.VALEUR(SI(ESTNUM(D2:D15);LIGNE(D2:D15));LIGNE(INDIRECT("1:"&B16)));0))))
A valider par Ctrl+Maj+Entrée.

Fichier joint.

A+
 

Pièces jointes

  • somme(1).xls
    43 KB · Affichages: 88
  • somme(1).xls
    43 KB · Affichages: 95
  • somme(1).xls
    43 KB · Affichages: 97

Robert

XLDnaute Barbatruc
Repose en paix
Re : Somme des X dernières valeurs d'une colonnes

Bonsoir Irnt, Job, bonsoir le forum,

Une proposition VBA avec la macro événementielle Change ci-dessous. Renseigne le nombre de notes prisent en compte en B16, le total s'affiche en D16 :
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'à l'édition dans une cellule
Dim x As Integer 'déclare la variable x (incrément)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim t As Double 'déclare la variable t (Total)
 
If Target.Address <> "$B$16" Then Exit Sub 'si l'édition a lieu ailleur qu'en B16, sort de la procédure
 
dl = Cells(Application.Rows.Count, 11).End(xlUp).Row 'définit la dernière ligne de la colonne K
For x = 1 To CInt(Target.Value) 'boucle sur le nombre de note prisent en compte
    If Cells(dl, 11).Value <> "" Then 'condition : si la cellule n'est pas vide
        t = t + Cells(dl, 11) 'définit le total t
        dl = dl - 1 'redéfinit la dernière ligne
    Else 'sinon
        dl = dl - 1 'redéfinit la dernière ligne
        x = x - 1 'redéfinit le nombre de notes prisent en compte (une boucle de plus)
    End If 'fin de la condition
Next x 'prochaine note de la boucle
Range("D16").Value = t 'place le total dans la cellule D16
End Sub
 

Pièces jointes

  • irnt_v01.xls
    46.5 KB · Affichages: 71

Tibo

XLDnaute Barbatruc
Re : Somme des X dernières valeurs d'une colonnes

Bonsoir,

Même réponse que celle apportée ailleurs :

Code:
=SOMMEPROD((LIGNE($D$2:$D$15)>=GRANDE.VALEUR(($D$2:$D$15<>"")*LIGNE($D$2:$D$15);B16))*1;$D$2:$D$15)

@+
 

CISCO

XLDnaute Barbatruc
Re : Somme des X dernières valeurs d'une colonnes

Bonsoir à tous

On peut aussi faire avec
Code:
=SOMME(DECALER(D15;;;GRANDE.VALEUR(SI(ESTNUM(D2:D15);LIGNE(D2:D15));B16)-LIGNE(D15)-1))
en matriciel (ctrl+maj+entrer)

Tu peux bien sûr remplacer le - LIGNE(D15) - 1 par -16.

@ plus
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
246

Statistiques des forums

Discussions
312 502
Messages
2 089 036
Membres
104 010
dernier inscrit
Freba