Query avec un nom ?

Bonjour,

On a un enjeu sur nos exports de site web.

Chaque semaine, les colonnes dont nous avons besoin sont décalés.

Avant, j'avais mon query qui retrié automatiquement mes colonnes nécessaires pour mes onglets de calculs.

Maintenant, je m'amuse tous les mercredis matins à décaler les colonnes.

Toutefois, ces colonnes qui se déplacent, elles, elles ne changent pas de nom.

Je connais l'utilisation du query uniquement de manière simple (import tel fichier, tel onglet, et met la colonne 1 en colonne 2...)

Savez-vous comment je pourrais faire dire :

- fait en sorte que la colonne A corresponde au nom du fichier qui s'appelle order number ; la colonne B au nom de la colonne qui s'appelle customer user ...

Voici un fichier exemple : https://docs.google.com/spreadsheets/d/16Zj0fbAmEDMth6GvpQc5HhyhOO6QCqepF7IGSGeUFI0/edit?usp=sharing

Dans l'onglet A = l'export du site de cette semaine là

Dans l'onglet B = ce que j'ai besoin (ligne 1, nom dans mon fichier de traitement, ligne 2, équivalent à l'onglet A, ligne 3 l'exemple correspondant dans l'export de la semaine = la donnée que j'aurais eu à traiter

Merci beaucoup de vos conseils !

Bonjour,

C'est quelque chose de ce genre que tu recherches ?

=index('Commandes-Export-64'!$B$1:$AS$2;2;xmatch("Order number";'Commandes-Export-64'!$B$1:$AS$1))

Cordialement,

Fil.

Bonjour,

C'est possible, je ne connais pas x match.

Ça ressemble : je veux faire dire :

- va chercher dans cet onglet entre telle plage et telle plage

- la colonne correspondant à order number

- fait la apparaître dans la colonne 1 de ce nouvel onglet.

- la colonne correspondant à Order ID

- fait la appatraître dans la colonne 2 de ce nouvel onglet

- la colonne correspondante à Order Date

- fait la apparaître dans la colonne 4 de ce nouvel onglet

- ...

Merci pour la formule, toutefois, je n'arrive pas à la faire fonctionner, soit une erreur dans le #Name ou juste #ERREUR.

image

En utilisant =index('Commandes-Export-64'!A1:AS2;2)

Je fait apparaître les données de l'onglet

en ajoutant xmatch("Order number";'Commandes-Export-64'!$B$1:$AS$1)

Peux-tu me montrer dans un fichier exemple ?

Merci beaucoup,

Lauren

Voilà un lien:

https://docs.google.com/spreadsheets/d/1MGPG-1O3ZzaSgIDQjaf6Fevpxseg0Ltn-8brbxUpQYQ/edit?usp=sharing

Et, une formule qui se développe toute seule vers le bas:

=BYCOL('Commandes-Export-64'!$A$2:$A;lambda(n;index('Commandes-Export-64'!$B$2:$AU;n;xmatch("Order number";'Commandes-Export-64'!$B$1:$AU$1))))


Merci tellement !

Merci beaucoup ; est-ce que ce serait possible d'avoir 1 seule formule ?

Je m'explique : chaque semaine je fais un export, donc l'export 64 deviendra 65 ...et avec 1 formule par case, je dois la changer dans chacune des cases.

Est-ce possible d'avoir 1 seul choix de formule ?

Bonjour,

J'ai bricolé un peu la formule.

=BYCOL(indirect($B$1&"!$A$2:$A");lambda(n;index(indirect($B$1&"!$B$2:$AV");n;xmatch(A3;indirect($B$1&"!$B$1:$AV$1")))))

J'ai trouvé plus simple de référencer une cellule qui contient le nom de ton onglet "Export".

En B1, changer le nombre selon la semaine en cours:

Commandes-Export-64

ou en mise à jour automatique à chaque nouvelle semaine (à mettre en B1, adapter le +37 en fonction de ton n° d'onglet "Export")):

="Commandes-Export-"&NO.SEMAINE(AUJOURDHUI())+37

Cordialement,

Fil.

Pour le fun, la même chose avec QUERY:

=query(transpose(query(transpose(arrayformula(to_text(indirect($B$1&"!$A$1:$AV1000"))));"select * where Col1 ='"&A3&"'"));"select* label Col1''";1)

Wooo !

Merci beaucoup ! J'investigue cela ! Merci merci !

Merc beaucoup

Pourquoi +37 ?

On est semaine 27.

27 + 37 = 64

64 est le chiffre de ton onglet " Export " dans notre exemple.

Tu changes 37 pour qui cela corresponde à ton cas réel.

J'espère que mes explications sont suffisamment claires...

Rechercher des sujets similaires à "query nom"