2 lambda ? Comment faire ?

Bonjour,

Sans fichier de démo/support, cela ne vas pas être simple d'expliquer ^^

Pour trouver une date en rapport avec une référence, je fais appel à cette formule qui prend toutes les références en B puis va chercher la date sur l'onglet 'Base' si celle-ci est = ou supérieure à la date en A2.

=MAP(query(B2:B;"select * where B is not null");LAMBDA(a;SIERREUR(query(Base!A2:B;"select max(A) where A >= DATE '"&TEXTE(A2;"yyyy-mm-dd")&"' and B like '"&a&"' group by A label max(A)''");"Pas d'inter2")))

Cependant, je ne sais comment adapter la formule pour prendre en compte un autre paramètre qui est que la date en 'Base' doit aussi être inférieure à la date indiquée en C de la même référence.

Si par exemple j'ai la référence X85296374 en B4 et que je souhaite aussi qu'il prenne en compte un autre paramètre : Que la date soit aussi inférieure à celle en C15, je ne sais comment faire, à priori il faudrait 2 fois la valeur 'Lambda' Celle de $B2: B et celle de $C2:C ?

Je vous pose la formule totalement fausse pour comprendre l'idée :

=MAP(query(B2:B;"select * where B is not null");MAP(query(C2:C;"select * where C is not null");LAMBDA(a;(LAMBDA(;b(SIERREUR(query(Base!A2:B;"select max(A) where A >= DATE '"&TEXTE(A2;"yyyy-mm-dd")&"' and where A < DATE '"&b&"' and B like '"&a&"' group by A label max(A)''");"Pas d'inter2")))")))))))"))))

Merci

Bonsoir,

En fouillant un peu dans le forum et en suivant les piste de Filoche et Pierre, j'ai tenté cela :

=MAP(B2:B;C2:C;LAMBDA(b;c(SIERREUR(query(Base!A2:B;"select max(A) where A >= DATE '"&TEXTE(A2;"yyyy-mm-dd")&"' and where A < DATE '"&c&"' and B like '"&b&"' group by A label max(A)''");"Pas d'inter2"))))

Mais sans résultat.

Bonjour,

Sans fichier exemple, c'est difficile d'avoir des réponses.

Si tu peux compléter ce fichier avec tes besoins, je regarderai...

https://docs.google.com/spreadsheets/d/1PF1zrbPNfS8AGtSCjks96gCf0DTMWovXudtCwo8CCwI/edit?usp=sharing

Cordialement,

Fil.

Bonjour,

Merci pour le fichier test, les données sont postées.

Cordialement

Bonjour,

Super, je regarde fin de semaine.

Je ne suis malheureusement pas dispo avant...

Pas de soucis, merci par avance

Voilà en E2 :

=map($B$2:$B;$C$2:$C;lambda(ref;date;iferror(if(date<>"";query(Base!$A$2:$B;"select A where B = '"&ref&"' and A <= DATE '"&TEXT($A$2;"yyyy-mm-dd")&"' and A > DATE '"&TEXT(date;"yyyy-mm-dd")&"' order By A desc limit 1 ");"");"Pas d'inter2")))

Bonjour,

Merci de ton aide, désolée d'avoir été aussi longue.

Cordialement

Rechercher des sujets similaires à "lambda comment"