首页 > 解决方案 > 在 Google 表格中的 Query({Importhtml1; Importhtml2;...}) 期间丢失我的 primaryKey

问题描述

我需要查询多达 50 个动态长度的源。这就是为什么它必须是一个多合一的命令。

每个来源的长度经常变化。每个 Source 都有 RowA 作为主键。但是在对所有来源进行查询之后,密钥不再是唯一的。

假设我的来源看起来像这样:

SourceA      SourceB      SourceC 
James  5     Jack  3      Jane  5
Steve  3     James 1      Steve 1

然后这段代码:

=Query({Importhtml("ScrA";"table";1); Importhtml("ScrB";"table";1); ...})

返回: 结果:

James 5
Steve 3
Jack  3
James 1
Jane  4
Steve 1

如您所见,我不知道“史蒂夫”来自哪个来源-但我需要知道...

有没有办法得到这样的结果(记住所有的来源都有变化的长度)?

ScrA  James  5
ScrA  Steve  3
ScrB  Jack   3
ScrB  James  1
ScrC  Jane   4
ScrC  Steve  1

标签: google-sheetsimportgoogle-sheets-formulaarray-formulasgoogle-sheets-query

解决方案


你需要这样做:

=ARRAYFORMULA(QUERY({
 {REGEXREPLACE(INDEX(IMPORTHTML("ScrA"; "table"; 1);;1)&""; ".+"; )&"ScrA"\
                     IMPORTHTML("ScrA"; "table"; 1)}; 
 {REGEXREPLACE(INDEX(IMPORTHTML("ScrB"; "table"; 1);;1)&""; ".+"; )&"ScrB"\
                     IMPORTHTML("ScrB"; "table"; 1)}}; 
 "where Col2 is not null"; 0))

推荐阅读