Jak na dotaz několika dokumentů pomocí zvláštní záhlaví v tabulkách Google?

0

Otázka

Mám několik sešitů, každý se skládá z formuláře výsledky z různých průzkumů a dotazníků jsem provedla v průběhu času. Co bych chtěl dosáhnout, je importovat pouze konkrétní sloupce odpovídající jejich záhlaví od všech těchto dokumentů. Například, chtěl bych sbírat e-maily pro všechny anglicky mluvící respondenti, kteří se rozhodli pro newsletter. Zde jsou příklady, které bych chtěl sjednotit do jednoho listu:

  • Sešit 1 > List X > Sloupec B (E-Mail), Sloupec E (Jazyk), Sloupec X (Newsletter)
  • Sešit 1 > List Y > Sloupec B (E-Mail), Sloupec C (Jazyk), Sloupec G (Newsletter)
  • Sešit 2 > List Z > Sloupec (E-Mail), Sloupec C (Jazyk), Sloupec J (Newsletter)
  • atd.

Výsledek by měl být něco jako Sešit 3 > List X >

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

z uvedené sešity a listy.

Přišel jsem na to, jak importovat data z externích listů pomocí

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

a podařilo zápas mailů pomocí následující trik:

=QUERY(data!A:X,"SELECT "&SUBSTITUTE(ADDRESS(1,MATCH("Email addres",data!A1:X1,0),4),1,"")), ale pouze v rámci stejného sešitu.

Snažil jsem se kombinovat tyto, ale narazil na různé chyby. Jak mohu dosáhnout požadovaného výsledku?

1

Nejlepší odpověď

0

viz tento příklad pro 3 tabulky, kde 1 řádek obsahuje záhlaví a každé tabulky obsahuje všechny 3 sloupce:

=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

I když to načte nežádoucí hodnoty stejně, funguje to jako kouzlo! Přidal jsem další list, který používá tento vzorec pro import tří sloupců potřebuji ze všech dokumentů a používá jednoduchého dotazu pro filtrování hodnot v aktuálním listu (např. Jazyk=""angličtina"" a Newsletter=""Ano"").
Denis

V jiných jazycích

Tato stránka je v jiných jazycích

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