XL 2013 Aide Formule SOMME.SI.ENS

Aquaversus

XLDnaute Nouveau
Bonjour,
Je chercher à obtenir la somme des montants d'une colonne qui respectent par ailleurs deux critères.
Pour cela, j'ai utilisé la fonction SOMME.SI.ENS mais le résultat obtenu ne me convient pas.

Colonne A: des identifiants
Colonne B: des codes permettant de catégoriser les montants de la colonne C
Colonne C: les montants

Sans titre.png

Dans la colonne D, j'ai essayé au moyen de la fonction SOMME.SI.ENS d'obtenir la somme des montants de la colonne qui respectent les deux conditions suivantes:
1. l'identifiant de la colonne A doit être identique à celui qui se trouve sur la ligne du montant de la colonne C
2. le code doit être égal à "O"

La formule utilisée est:
=SOMME.SI.ENS([MONTANTS];
Code:
;"O";[ID];[@ID])

Le problème que je rencontre est que la somme est effectuée y compris dans les cellules de la colonne D pour lesquelles un autre code que le code O existe (en jaune dans le fichier joint)

Est-ce dû à une mauvaise utilisation de la fonction ou bien est-ce celle ci ne convient pas pour l'usage de ces critères?

Merci par avance.
 

Pièces jointes

  • Sans titre.png
    Sans titre.png
    5.6 KB · Affichages: 36
  • SOMME.SI.ENS.xlsx
    131 KB · Affichages: 61
  • SOMME.SI.ENS.xlsx
    131 KB · Affichages: 38

sand13

XLDnaute Occasionnel
Re : Aide Formule SOMME.SI.ENS

C'est une mauvaise utilisation de la fonction car, à la ligne 12, la formule calcule pour l'ID 25055 avec un code "O" donc reprend le résultat de la ligne 11; à aucun moment le code inscrit sur la ligne 12 n'est pris en compte dans votre formule.

Il faudrait rajouter une condition à votre formule, du genre, =SI([@CODE]="O";SOMME.SI.ENS([MONTANTS];
Code:
;[@CODE];[ID];[@ID]);0) pour obtenir le résultat voulu
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Aide Formule SOMME.SI.ENS

Re,

Juste une légère simplification de la formule de sand13 :

=--SI([@CODE]="O";SOMME.SI.ENS([MONTANTS];
Code:
;[@CODE];[ID];[@ID]))[/COLOR]

Ceci est aussi possible mais prend nettement plus de temps :

[COLOR="#0000FF"]=SOMME.SI.ENS([MONTANTS];[CODE];"O";[CODE];[@CODE];[ID];[@ID])[/COLOR]

[B]Edit[/B] : avec la première solution toutes les formules se recalculent en 0,84 seconde.

Avec la seconde en 3,53 secondes sur Win 8 - Excel 2013.

A+
 
Dernière édition:

Aquaversus

XLDnaute Nouveau
Re : Aide Formule SOMME.SI.ENS

Merci à vous deux d'avoir pris le temps de lire, chercher la solution et répondre.
Je comprends désormais d'où provient l'erreur.

Les solutions proposées fonctionnent:
=SI([@CODE]="O";SOMME.SI.ENS([MONTANTS];
Code:
;[@CODE];[ID];[@ID]);0)
=--SI([@CODE]="O";SOMME.SI.ENS([MONTANTS];[CODE];[@CODE];[ID];[@ID]))

A titre informatif, quelle est la fonction des -- devant SI?
 

job75

XLDnaute Barbatruc
Re : Aide Formule SOMME.SI.ENS

Re,

-- permet de transformer la valeur renvoyée FAUX en 0 (zéro).

En évitant le 2ème argument du SI ma formule "pèse" 6 octets de moins en mémoire.

Edit : bonjour JHA je te souhaite une bonne année.

A+
 
Dernière édition:

Discussions similaires

Réponses
9
Affichages
520

Statistiques des forums

Discussions
312 169
Messages
2 085 929
Membres
103 047
dernier inscrit
Duuubee