QUERY et IMPORTRANGE

Bonjour,

J'ai 1 tableau de navires :

1737_39 ; 15/03/1737 ; Saint-Germain ; Gaspé

et 1 tableau de marins :

Michel Banville ; Bouillon ; 54 moyen châtain ; 1737_39

Je voudrais compléter le tableau de marins avec les informations du navire :

Michel Banville ; Bouillon ; 54 moyen châtain ; 15/03/1737 ; Saint-Germain ; Gaspé

Pour cela, j'ai essayé d'utiliser les fonctions QUERY et IMPORTRANGE

=query(IMPORTRANGE("

");"select * where Col11='1737_39'")

Mais, pour les colonnes K:AL, il m'affiche l'entête du tableau navires et les 3 première en-dessous, il ne m'affiche pas la ligne (848) qui contient 1737_9

Merci d'avance

Bonjour,

Sans fichier d'exemple, tu as peu de chances d'obtenir de l'aide dans ce cas ...

En cas de besoin, tu peux t'aider de cet outil pour anonymiser les données

Cordialement,

Bonjour et merci,

J'ai réussi à faire fonctionner la formule IMPORTRANGE.

J'avais un problème avec les Colonnes dans select.

là, ça fonctionne :

=query(IMPORTRANGE("

");"select * where Col2 ='Martin'")

Mais au lieu d'écrire 'Martin' dans le code, est-il possible de faire référence à une cellule dans laquelle on aurait écrit Martin ou un autre nom ; ce qui permettrait de modifier plus facilement la requête.

Bonne journée

bmayeux

Mais au lieu d'écrire 'Martin' dans le code, est-il possible de faire référence à une cellule dans laquelle on aurait écrit Martin ou un autre nom ; ce qui permettrait de modifier plus facilement la requête.

Oui c'est possible :

..."select * where Col2 = '"&A1&"'")

Cordialement,

Super merci Sébastien.

Par contre, je suis obligé de saisir l'orthographe exacte,

est-il possible que la recherche ne considère ni les capitales, ni les accents ?

Bon dimanche

bmayeux

Dans cet exemple, tu as lower qui te permet de faire une recherche en minuscules et contains qui te permet de faire une recherche partielle :

..."select * where lower(Col2) contains '"&A1&"'")

Cordialement,

Génial,

J'aurai pu chercher, mais j'ai tellement perdu de temps avec mes colonnes (ref. 1re question).

Bonne après-midi.

bmayeux

Pas tout à fait…

avec cette ligne de code :

"select * where lower(Col1) CONTAINS '"&A2&"' or lower(Col6) CONTAINS '"&A2&"' ORDER BY Col1, Col2";0

le mot recherché étant Deux-Frères,

je voudrais que la requête réponde pour Deux-Frères, deux-freres, Deux-frères, deux-frères, deux, frères, freres

mon code de recherche sur 2 colonnes peut-il être raccourci ?

merci

bmayeux

mon code de recherche sur 2 colonnes peut-il être raccourci ?

Ta requête est correcte.

le mot recherché étant Deux-Frères,

je voudrais que la requête réponde pour Deux-Frères, deux-freres, Deux-frères, deux-frères, deux, frères, freres

Il n'y a pas de solution simple pour ignorer les accents.

Je te donne quand même une piste :

=QUERY({A1:B9\ARRAYFORMULA(SUBSTITUE(SUBSTITUE(A1:A9;"è";"e");"é";"e"))};"select Col1, Col2 where lower(Col3) contains '"&D2&"'")

Dans cet exemple, une 3e colonne (sans "é", ni "è" dans ce cas) a été ajoutée à la droite du tableau de données pour la recherche du mot-clé ...

query sans accents

Cordialement,

Ça fonctionne dans ton tableau, mais appliqué au mien sur 2 colonnes… ,

=query(IMPORTRANGE("

(SUBSTITUE(SUBSTITUE(A1:A1000;"è";"e");"é";"e"))}");"select * where lower(Col1) CONTAINS '"&A2&"' or lower(Col6) CONTAINS '"&A2&"' ORDER BY Col1, Col2";0)

J'ai du faire une erreur.

cordialement

bmayeux

Plutôt quelque chose comme ça (non testé) :

=QUERY({IMPORTRANGE("https://docs.google.com/spreadsheets/…";"A1:AG1000")\ARRAYFORMULA(SUBSTITUE(SUBSTITUE(IMPORTRANGE("https://docs.google.com/spreadsheets/…";"A1:F1000");"è";"e");"é";"e"))};"select Col1, Col2, Col3, Col4, Col5, Col6 where lower(Col34) CONTAINS '"&A2&"' or lower(Col39) CONTAINS '"&A2&"' ORDER BY Col1, Col2";0)

Si ça ne fonctionne pas, isole le premier argument de QUERY (le tableau entre accolades) pour voir s'il s'affiche correctement avant de chercher une erreur dans la requête.

Si je le fais avec mon dernier exemple, cela donne :

={A1:B9\ARRAYFORMULA(SUBSTITUE(SUBSTITUE(A1:A9;"è";"e");"é";"e"))}
query tableau

Bonjour,

Effectivement, ça fonctionne parfaitement si la requête est en minuscule sans accent (c'est pas mal).

Mais je rencontre un problème si j'augmente la plage de référence.

avec une plage de 10 000 lignes sur 13 colonnes, ça fonctionne,

avec une plage de 15 000 lignes sur 13 colonnes, ça provoque une erreur sur la recherche en Col3 :

Impossible d'analyser la chaîne de requête pour Le paramètre 2 de la fonction QUERY : NO_COLUMN: Col3.

Il ne parle pas de problème de volume du fichier importé.

Le tableau de référence fait actuellement 30 000 lignes sur 13 colonnes et il va passer à 50 000 lignes.

Je crois que je ferai mieux de résoudre mon problème avec un système de base de données.

Qu'en penses-tu ?

Merci et cordialement

bmayeux

=QUERY({IMPORTRANGE("

")\ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(IMPORTRANGE("

");"è";"e");"é";"e"))};"select * where lower(Col2) CONTAINS '"&A2&"' or lower(Col3) CONTAINS '"&A2&"' ORDER BY Col2, Col1";0)

avec une plage de 15 000 lignes sur 13 colonnes, ça provoque une erreur sur la recherche en Col3 :

Essaie d'isoler le tableau de données pour voir s'il s'affiche correctement

Je crois que je ferai mieux de résoudre mon problème avec un système de base de données.

Qu'en penses-tu ?

Oui, si tu le peux, c'est mieux de travailler avec une vrai base de données

Cordialement,

Oui, si tu le peux, c'est mieux de travailler avec une vrai base de données

Il y a des extension Base de données pour Google Drive ?

Cordialement

Il y a des extension Base de données pour Google Drive ?

Je ne peux pas te répondre, je n'ai pas encore eu l'occasion de m'y intéresser.

Merci

Cordialement

bmayeux

Rechercher des sujets similaires à "query importrange"