google 张数组公式拆分和导入范围
google sheets array formula split and import range
我正在尝试构建一个相当复杂的公式,但目前还没有成功,如果有任何帮助,我将不胜感激!
首先是一些上下文,我正在尝试将存储来自 google 表单的答案的 sheets 与其他 sheets 同步以进行总结,因此我有例如 3 sheets 同步有 3 种不同的形式都有一个名为学生代码的列(它不是命名范围,只是第一行中的一个值)。然后我用另一个公式创建了与用户相关的 spreadsheet 的逗号分隔列表(例如我知道学生 1 在练习 a b c
所以我得到了所有 spreadsheets 作为逗号分隔的字符串放入适当的单元格中)所以我想要实现的目标
- 从每个相关价差中导入范围sheet 我正在尝试通过公式
来实现这一点
=Arrayformula(Filter(IMPORTRANGE(SPLIT(AB2, ",", TRUE, TRUE),"'Form responses 1'!A1:Z1000")))
但没有成功
- 从此表中获取第一行
- 过滤我有学生代码的行(名为 studCode 的列具有适当学生代码的值)
- 加入所有这些操作的行,所以我将有第 1 行(带有问题文本的行)测试 1,然后有学生答案的行,然后有问题的行来测试 2 个学生对这些测试的答案...
我真的很感激你的帮助(哦,我宁愿通过 google sheet 的公式而不是应用程序脚本函数来实现它——因为导入范围比使用 sheet 服务应用内脚本)
我创建了测试用例以帮助解决问题
汇总传播sheet 我想在其中积累数据:
https://docs.google.com/spreadsheets/d/1cJn8CX25t98GI9E4aYgsQPNt28w_sX0ynfhwkG3ZKyA/edit?usp=sharing
spreadsheets 模拟从表单导入的数据:
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
尝试:
={""; ARRAYFORMULA("=QUERY({"&TEXTJOIN(";", 1, "IMPORTRANGE("""&
TRANSPOSE(SPLIT(B2, ","))&""", ""'Sheet1'!A1:Z1000"")")&
"}, ""where Col1 is not null"", 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))")}
我正在尝试构建一个相当复杂的公式,但目前还没有成功,如果有任何帮助,我将不胜感激!
首先是一些上下文,我正在尝试将存储来自 google 表单的答案的 sheets 与其他 sheets 同步以进行总结,因此我有例如 3 sheets 同步有 3 种不同的形式都有一个名为学生代码的列(它不是命名范围,只是第一行中的一个值)。然后我用另一个公式创建了与用户相关的 spreadsheet 的逗号分隔列表(例如我知道学生 1 在练习 a b c
所以我得到了所有 spreadsheets 作为逗号分隔的字符串放入适当的单元格中)所以我想要实现的目标
- 从每个相关价差中导入范围sheet 我正在尝试通过公式 来实现这一点
=Arrayformula(Filter(IMPORTRANGE(SPLIT(AB2, ",", TRUE, TRUE),"'Form responses 1'!A1:Z1000")))
但没有成功
- 从此表中获取第一行
- 过滤我有学生代码的行(名为 studCode 的列具有适当学生代码的值)
- 加入所有这些操作的行,所以我将有第 1 行(带有问题文本的行)测试 1,然后有学生答案的行,然后有问题的行来测试 2 个学生对这些测试的答案...
我真的很感激你的帮助(哦,我宁愿通过 google sheet 的公式而不是应用程序脚本函数来实现它——因为导入范围比使用 sheet 服务应用内脚本)
我创建了测试用例以帮助解决问题 汇总传播sheet 我想在其中积累数据:
https://docs.google.com/spreadsheets/d/1cJn8CX25t98GI9E4aYgsQPNt28w_sX0ynfhwkG3ZKyA/edit?usp=sharing
spreadsheets 模拟从表单导入的数据:
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
尝试:
={""; ARRAYFORMULA("=QUERY({"&TEXTJOIN(";", 1, "IMPORTRANGE("""&
TRANSPOSE(SPLIT(B2, ","))&""", ""'Sheet1'!A1:Z1000"")")&
"}, ""where Col1 is not null"", 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))")}