我有幾本作業簿,每本都包含我隨著時間的推移進行的各種調查和問卷調查的表格結果。我想要完成的是通過匹配所有這些檔案中的標題來僅匯入特定的列。例如,我想收集所有選擇時事通訊的英語受訪者的電子郵件。以下是我想統一到一張紙中的示例:
- 作業簿 1 > 作業表 X > B 欄(電子郵件)、E 欄(語言)、X 欄(通訊)
- 作業簿 1 > 作業表 Y > B 欄(電子郵件)、C 欄(語言)、G 欄(通訊)
- 作業簿 2 > 作業表 Z > A 欄(電子郵件)、C 欄(語言)、J 欄(通訊)
- 等等。
結果應該類似于 Workbook 3 > Sheet X >
query({Workbook 1(Sheet!Range); Workbook 2(Sheet!Range)},"SELECT Email WHERE Language='English' AND Newsletter='Yes'"
來自指定的作業簿和作業表。
我已經想出了如何使用從外部作業表匯入資料
=query(importrange(URL, Sheet!Range), Query)
并設法使用以下技巧匹配標題:
=QUERY(data!A:X,"SELECT "&SUBSTITUTE(ADDRESS(1,MATCH("Email addres",data!A1:X1,0),4),1,"")),但僅限于同一作業簿中。
我嘗試將這些組合起來,但遇到了各種錯誤。我怎樣才能達到預期的結果?
uj5u.com熱心網友回復:
請參閱此示例了解 3 個電子表格,其中第 1 行包含標題,每個電子表格包含所有 3 列:
=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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/365612.html
