Microsoft 365 LAMBDA et Somme.si.ensemble, je sèche...

Njp

XLDnaute Nouveau
Supporter XLD
Bonjour,

J'ai un tableau comptable simple :
Date, Intitulé, Débit, Crédits; Type

J'isole mensuellement les dépenses selon le type de celles-ci avec cette formule :

=SOMME.SI.ENS(E:E;C:C;">="&L6;C:C;"<="&M6;G:G;N3)

Avec :
E:E : colonne débit => Plage_debours
C:C : colonne dates => Plage_Date
L6 : Date début => Date_Debut
M6 : Date fin => Date_Fin
G:G : colonne Type de dépense => Plage_Type
F31 : Type de dépense => Sujet

Je veux tester :

=LAMBDA(Plage_Somme;Plage_Date;Date_Debut;Date_Fin;Plage_Type;Sujet;(SOMME.SI.ENS(Plage_somme;Plage_Date;">="&Date_Debut;Plage_Date;"<="&Date_Fin;Plage_Type;Sujet))(E:E;C:C;L6;C:C;M6;G:G;N3)

Excel me rajoute * avant les arguments et #CALC!..

Un ordre d'argument à respecter ?
J'ai utilisé la syntaxe d'une formule existante ?
Incompatible avec un certain type de formule ?
Je m... quelque part ?

Microsoft me dit "Si vous créez une fonction LAMBDA dans une cellule sans l’appeler également à partir de cette cellule, Excel renvoie #CALC! comme erreur."
Traduction approximative ou je suis idiot ?...
Non, ne répondez pas à la deuxième option....

J'en appelle donc humblement aux pros, je sèche...

NJ
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour

Cela marche si on créer un formule nommée par exemple SSI de
VB:
=LAMBDA(Plage_Somme;Plage_Date;Date_Debut;Date_Fin;Plage_Type;Type;SOMME.SI.ENS(Plage_Somme;Plage_Date;">="&Date_Debut;Plage_Date;"<="&Date_Fin;Plage_Type;Type))
Puis on utilise
Code:
=SSI(H:H;A:A;L6;M6;E:E;N3)
dans une cellule

Mais bon, pas vraiment intéressant par rapport à un SOMME.SI.ENS

Sinon avec LET
VB:
=LET(Plage_Somme;H:H;Plage_Date;A:A;Date_Debut;M1;Date_Fin;M2;Plage_Type;E:E;Type;M3;SOMME.SI.ENS(Plage_Somme;Plage_Date;">="&Date_Debut;Plage_Date;"<="&Date_Fin;Plage_Type;Type))
 
Dernière édition:

chris

XLDnaute Barbatruc
RE

Écrire une formule aussi longue dans une cellule au lieu de SOMME.SI.ENS n'apporte pas de gain de temps

Sur le site de Microsoft https://support.microsoft.com/fr-fr/office/fonction-lambda-bd212d27-1cd1-4321-a34a-ccbf254b8b67 est bien citée la création d'une formule nommée.

Ce que j'ai fait avec la partie logique de la formule qui permet ensuite de l'appliquer n'importe où en précisant simplement les 5 arguments

Par ailleurs tu as une erreur Type d'un côté et Sujet de l'autre
 
Dernière édition:

Njp

XLDnaute Nouveau
Supporter XLD
Bonjour Dranreb,
les étapes disent de tester la formule avant de la nommer... J'en suis la...
Peut-être question idiote, mais je démarre sur cette fonction...
Les essais que j'ai fait sur des formules simples me renvoient le résultat à cette étape...
un peu perdu là...:confused:
 

chris

XLDnaute Barbatruc
Bonjour à tous
Mais la question est : pourquoi #CALC!...
Je l'ai dit : à cause de Sujet au lieu de Type (la liste des arguments doit être similaire dans les 2 parties)
Mais aussi sans doute la répétition d'un même argument

ceci fonctionne
VB:
=LAMBDA(Plage_Somme;Plage_Date;Date_Debut;Date_Fin;Plage_Type;Type;SOMME.SI.ENS(Plage_Somme;Plage_Date;">="&Date_Debut;Plage_Date;"<="&Date_Fin;Plage_Type;Type))(Ventes[Montant];Ventes[Date commande];L6;M6;Ventes[Catégorie];N3)
 

Njp

XLDnaute Nouveau
Supporter XLD
Merci chris, enfin...

Après correction de ta formule ( les "ventes [date commande ]...), ça marche nickel...
J'ai comparé avec la mienne.
Erreur de débutant, j'ai ouvert une parenthèse à somme.si.ensemble...

Résultat :

LAMBDA(Plage_Somme;Plage_Date;Date_Debut;Date_Fin;Plage_Type;Sujet;SOMME.SI.ENS(Plage_Somme;Plage_Date;">="&Date_Debut;Plage_Date;"<="&Date_Fin;Plage_Type;Sujet))(E:E;C:C;L6;M6;G:G;N3)

Merci encore !!
 

Statistiques des forums

Discussions
312 215
Messages
2 086 320
Membres
103 178
dernier inscrit
BERSEB50