Comment interroger plusieurs documents en utilisant les en-têtes spécifiques dans des Feuilles de calcul Google?

0

La question

J'ai plusieurs classeurs, chacun consistant en forme les résultats de diverses enquêtes et des questionnaires que j'ai réalisé au fil du temps. Ce que je voudrais accomplir, c'est de n'importer que des colonnes spécifiques par l'appariement de leurs en-têtes de tous ces documents. Par exemple, je voudrais collecter les e-mails de tous les répondants anglophones qui ont opté pour la newsletter. Voici les exemples que je tiens à les rassembler en une seule feuille:

  • Classeur 1 > Feuille X > Colonne B (E-Mail), La Colonne E (Langue), La Colonne X (Lettre D'Information)
  • Classeur 1 > Feuille De Y > Colonne B (E-Mail), La Colonne C (Langage), La Colonne G (Newsletter)
  • Classeur 2 > Feuille Z > Colonne A (E-Mail), La Colonne C (Langage), La Colonne J (Newsletter)
  • etc.

Le résultat devrait être quelque chose comme Classeur 3 > Feuille X >

query({Workbook 1(Sheet!Range); Workbook 2(Sheet!Range)},"SELECT Email WHERE Language='English' AND Newsletter='Yes'"

à partir indiqué des classeurs et des feuilles.

J'ai compris comment faire pour importer des données externes à l'aide de feuilles de

=query(importrange(URL, Sheet!Range), Query)

et réussit à égaler les en-têtes à l'aide de l'astuce suivante:

=QUERY(data!A:X,"SELECT "&SUBSTITUTE(ADDRESS(1,MATCH("Email addres",data!A1:X1,0),4),1,""))mais dans le même classeur.

J'ai essayé la combinaison de ces mais a couru dans diverses erreurs. Comment puis-je obtenir le résultat souhaité?

1

La meilleure réponse

0

voir cet exemple pour 3 feuilles de calcul où la ligne 1 contient les en-têtes et chaque feuille de calcul contient tous les 3 colonnes:

=INDEX(QYERY({
 TRANSPOSE(QUERY(TRANSPOSE(TO_TEXT(IMPORTRANGE("id1", "sheetname!A1:Z"))), 
 "where Col1 matches 'Email|Language|Newsletter'", 0));
 TRANSPOSE(QUERY(TRANSPOSE(TO_TEXT(IMPORTRANGE("id2", "sheetname!A1:Z"))), 
 "where Col1 matches 'Email|Language|Newsletter'", 0));
 TRANSPOSE(QUERY(TRANSPOSE(TO_TEXT(IMPORTRANGE("id3", "sheetname!A1:Z"))), 
 "where Col1 matches 'Email|Language|Newsletter'", 0))}, 
 "where Col1 is not null", 0)
2021-11-22 22:02:09

Bien qu'il récupère les valeurs non désirées ainsi, il fonctionne comme un charme! J'ai ajouté une feuille supplémentaire qui utilise cette formule pour importer des trois colonnes, j'ai besoin de tous les documents et utilisé une simple requête pour filtrer les valeurs dans la feuille (par exemple, Language=""anglais"" et de la Newsletter=""Oui"").
Denis

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................