数组文字Google表格中不同大小的行

问题描述 投票:0回答:1

我正在Google表格中尝试这样做

={{1}; {1, 1}}

并得到错误,在ARRAY_LITERAL中,数组文字缺少一个或多个行的值。

我的最终目标是做这样的事情:

"title A"
IMPORTRANGE("spreadsheet A", A:Z)...
"title B"
IMPORTRANGE("spreadsheet B", A:Z)...
"title C"
IMPORTRANGE("spreadsheet C", A:Z)...
etc...

最好,导入范围也将忽略空的A行。每个电子表格都有不同数量的列和行,并且它们每隔一段时间都会更改一次。

google-sheets
1个回答
0
投票

您需要这样做:

={{1, ""}; {1, 1}}

对于您的IMPORTRANGE示例,它将类似于:

={{"title A","","","","","","","","","","","","","","","","","","","","","","","","",""}; 
 IMPORTRANGE("ID", "Sheet1A:Z")}

但是为了避免重复出现空白单元格,您可以这样做:

={{"title A", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID", "Sheet1A:Z")}

这意味着:重复(REPT)数字12 25次(因为您需要覆盖范围B:Z),这将为您提供数字:12121212121212121212121212121212121121212121212121212,现在每有2个数字您将SPLIT重复一次,所以您将在25个单元格中获得1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1并摆脱这些,您将SUBSTITUTE一无所获

或类似这样:

=ARRAYFORMULA({{"title A", SUBSTITUTE(COLUMN(B:Z)^0, 1, )};
 IMPORTRANGE("ID", "Sheet1A:Z")})

同样也不要忘记在尝试联合公式之前分别运行每个IMPORTRANGE。您需要允许访问权限才能将电子表格与每个唯一的IMPORTRANGE

连接起来
={{"title A", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID1", "Sheet1A:Z");
  {"title B", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID2", "Sheet1A:Z");
  {"title C", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID3", "Sheet1A:Z")}

要摆脱空行,您可以执行以下操作:

=QUERY({{"title A", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
        IMPORTRANGE("ID1", "Sheet1A:Z");
        {"title B", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
        IMPORTRANGE("ID2", "Sheet1A:Z");
        {"title C", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
        IMPORTRANGE("ID3", "Sheet1A:Z")}, "where Col1 is not null", 0)
© www.soinside.com 2019 - 2024. All rights reserved.