QUERY et REGEXREPLACE pour projet d'extraction

Merci

Hello la team !
Je rouvre mon post pour une question Super Banco (ça parlera au plus vieux ) : l'ensemble des fonctions marche bien pour aller requêter dans UNE feuille. Ma question est la suivante :

Que puis-je faire pour aller requêter dans X feuilles, qui auront le même gabarit (même schéma). A ce jour j'ai :

=query({ ArrayFormula(RECHERCHE(LIGNE('Feuille1'!A2:A);LIGNE('Feuille1'!A2:A)/SI(GAUCHE('Feuille1'!A2:A;10)="Conseiller";1;0);'Feuille1'!A2:A))\'Feuille1'!A2:L };"select * where (Col9=7 or Col9=9) and Col11>=50 and (Col13='Validé' or Col13='Disponible' or Col13='Soldé' or Col13='Retiré' or Col13='Partiel' or Col13='Commandé')";0)

L'idée étant de recherche dans Feuille 1, Feuille 2, Feuille3...Autant de feuilles que j'ajouterai(s) dans ces tests. Dois-je imaginer une nomenclature type de feuilles (un début de nom identique à chacune), ou simplement lui dire "toutes les feuilles avant ma feuille de requête")

Merci

Dans ce cas, sans avoir testé, la méthode est la suivante

en reprenant cette formule qui je suppose fonctionne

ArrayFormula(RECHERCHE(LIGNE('Feuille1'!A2:A);LIGNE('Feuille1'!A2:A)/SI(GAUCHE('Feuille1'!A2:A;10)="Conseiller";1;0);'Feuille1'!A2:A))\'Feuille1'!A2:L

il faut alors "empiler" la même formule pour chaque feuille

formule avec Feuille 1;
formule avec Feuille 2;
formule avec Feuille 3

avec un ; entre chaque membre

Hello, merci c'est top 👍 (désolé le covid est passé par là, d'où le délai de réponse). Il me reste un point d'améliorer (oui pas qu'un seul je sais ), concernant la partie concaténation. J'aimerais en effet envoyer des mails par numéro de commande différencié et non entièrement fusionné.

En gros j'aimerais passer de cela (actuel) :

image

A cela (fake) :

image

On remarque que le numéro de commande 420304 se détache en une ligne (et donc un mail de + bien sûr).

J'ai cela actuellement :

=ARRAY_CONSTRAIN(transpose({ transpose(unique(A2:A)); arrayformula(regexreplace(SUPPRESPACE(query(arrayformula(SI(A2:A=transpose(unique(A2:A));B2:B&", ";));;9^9));"[,\s]+$";"")); arrayformula(regexreplace(SUPPRESPACE(query(arrayformula(SI(A2:A=transpose(unique(A2:A));K2:K&"€, ";));;9^9));"[€,\s]+$";"€")) });NBVAL(unique(A2:A));3)

https://docs.google.com/spreadsheets/d/1LAID1AI3KwKG3Ex7HZyMNZSMnEq55iNJOivVIzmulIY/copy

merci 🙏 pour vos remarques. J'apprends en même temps, c'est cool

La spec a changé ! on était là dessus https://forum.excel-pratique.com/sheets/query-et-regexreplace-pour-projet-d-extraction-169413#p10502...

J'ai essayé mais on dépasse le raisonnable dans la formule qui est déjà complexe ! On pourrait faire une nouvelle clé qui serait la concaténation des colonnes A et B, mais ensuite A serait doublé par ligne .... bref après une heure, je n'ai pas réussi à avoir quelque chose de correct.

La seule solution maintenable est de le faire en script comme signalé ici https://forum.excel-pratique.com/sheets/query-et-regexreplace-pour-projet-d-extraction-169413#p10503...

EDIT

une solution serait donc d'inverser les colonnes B et A dans la formule, mais comme je le disais le nom est alors répété !

=ARRAY_CONSTRAIN(transpose({
transpose(unique(B2:B));
arrayformula(regexreplace(TRIM(query(arrayformula(IF(B2:B=transpose(unique(B2:B));A2:A&", ";));;9^9));"[,\s]+$";"")); arrayformula(regexreplace(TRIM(query(arrayformula(IF(B2:B=transpose(unique(B2:B));K2:K&"€, ";));;9^9));"[€,\s]+$";"€"))
});COUNTA(unique(B2:B));3)

EDIT2

mets en N2

=arrayformula(iferror(vlookup(O2:O;{B2:B\A2:A};2;0)))

et en O2

=ARRAY_CONSTRAIN(transpose({
transpose(unique(B2:B));
arrayformula(regexreplace(TRIM(query(arrayformula(IF(B2:B=transpose(unique(B2:B));K2:K&"€, ";));;9^9));"[€,\s]+$";"€"))
});COUNTA(unique(B2:B));2)

Merci pour ton retour, c'est bien EDIT ou EDIT2 à tester ; ou c'est l'un puis l'autre ? En mettant =ARRAY_CONSTRAIN(transpose({transpose(unique(B2:B));arrayformula(regexreplace(TRIM(query(arrayformula(IF(B2:B=transpose(unique(B2:B));A2:A&", ";));;9^9));"[,\s]+$";"")); arrayformula(regexreplace(TRIM(query(arrayformula(IF(B2:B=transpose(unique(B2:B));K2:K&"€, ";));;9^9));"[€,\s]+$";"€"))});COUNTA(unique(B2:B));3) , il m'indique cela : (la formulation de l'erreur est pas claire).

image

prends juste edit2, oublie le reste de mon cheminement intellectuel

je t'envoie en mp mon fichier

Encore Merci

Rechercher des sujets similaires à "query regexreplace projet extraction"