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

  • Initiateur de la discussion Initiateur de la discussion Njp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Njp

XLDnaute Nouveau
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:
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:
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:
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à...😕
 
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)
 
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 !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour