谷歌表数组公式拆分和导入范围

时间:2020-03-12 17:08:48

标签: arrays google-sheets array-formulas google-sheets-query importrange

我正在尝试构建一个非常复杂的公式,但是到目前为止,如果没有成功,我将不胜感激! 首先,我尝试将存储来自Google表单的答案的工作表与其他工作表进行同步,以进行摘要,因此,例如,我将3个工作表与3种不同的表单进行了同步,所有工作表都有一个名为“学生代码”的列(它的命名范围不是第一行中的值)。那么我已经通过与用户相关的电子表格的另一个公式逗号分隔列表创建了该电子表格(例如,我知道学生1正在练习a b c,因此我将所有电子表格的链接都作为逗号插入了适当的单元格中-分隔的字符串),那么我想实现

  1. 每个相关电子表格的导入范围,我正在尝试通过公式

=Arrayformula(Filter(IMPORTRANGE(SPLIT(AB2, ",", TRUE, TRUE),"'Form responses 1'!A1:Z1000")))

但没有成功

  1. 从此表中获取第一行
  2. 过滤出我有学生代码的行(名为studCode的列,其值是适当的学生代码)
  3. 加入所有这些操作的行,这样我将有第1行(带有问题文本的行)来测试1,然后是带有学生答案的行,然后是带有问题的行来测试2个针对这些测试的学生答案...

我真的很感谢您的帮助(哦,我更希望通过Google表格公式而不是通过应用脚本功能来实现它-因为导入范围比使用表格服务应用内脚本要有效得多)

我创建了测试用例,以帮助解决问题 我要在其中累积数据的摘要电子表格:

https://docs.google.com/spreadsheets/d/1cJn8CX25t98GI9E4aYgsQPNt28w_sX0ynfhwkG3ZKyA/edit?usp=sharing

模拟从表单导入的数据的电子表格:

https://docs.google.com/spreadsheets/d/1BgYN7f6ojk7NhOlj2FuSm0goMt_HjqkebWiOJYQmN0E/edit?usp=sharing

https://docs.google.com/spreadsheets/d/19cDQR-tN5_S_rblc-hbavxVF0xforoMaKUQYjuYBN-E/edit?usp=sharing

https://docs.google.com/spreadsheets/d/1QPMcHIH5PXQwWbAULk7vxJ4g-pSXK1qHKhFvLwdRaAU/edit?usp=sharing

1 个答案:

答案 0 :(得分:2)

尝试:

={""; ARRAYFORMULA("=QUERY({"&TEXTJOIN(";", 1, "IMPORTRANGE("""&
 TRANSPOSE(SPLIT(B2, ","))&""", ""'Sheet1'!A1:Z1000"")")&
 "}, ""where Col1 is not null"", 0)")}

0

然后复制生成的公式并将其粘贴到您需要的位置:

0


更新:

={""; ARRAYFORMULA("=FILTER(QUERY({"&TEXTJOIN(";", 1, "IMPORTRANGE("""&
 TRANSPOSE(SPLIT(B2, ","))&""", ""'Sheet1'!A1:Z1000"")")&
 "}, ""where Col1 is not null"", 0), REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE(QUERY({"&
 TEXTJOIN(";", 1, "IMPORTRANGE("""&
 TRANSPOSE(SPLIT(B2, ","))&""", ""'Sheet1'!A1:Z1000"")")&
 "}, ""where Col1 is not null"", 0)),,99^99)), A2))")}

0