首页 文章

使用动态ImportRange填充ArrayFormula

提问于
浏览
0

我有一个Google电子表格,可以从各种工作表中收集学生的标记,以创建完整的标记表 .

每位教师在他/她自己的电子表格中输入标记,纸张编号作为工作表名称 . 任何一张都只有两列 . Roll#&Marks . 使用纸张编号(工作表名称),Google工作表键,滚动#和标记的组合我手动创建公式以使用Sort,ArrayFormula和ImportRange函数整理数据 . 这有效 . 但是手动创建公式是一种容易出错的方法 . 另外,我想教每位老师如何做到这一点 .

这是主表 . https://docs.google.com/spreadsheets/d/1IYOxZOZEnaQP8p69IsN5wDOtJhQBml1qARjj4yqA4Ds/edit?usp=sharing

我想要的是在单元格G23中添加公式,以便根据它上面的单元格G2:G22中的条目动态创建ImportRange . 如果有3个名称,则创建3个ImportRanges,如果有5个名称,则动态创建5个ImportRanges,以便通过包络ArrayFormula合并这些ImportRanges并依次进行排序 .

现有的公式是我手动创建的,它的工作原理 . 我想要的是使用公式,以便在G2-G22中添加新的教师名称时,会在ArrayFormula中添加新的ImportRange .

1 回答

  • 1

    由于importrange函数具有输出数组的能力,因此无法跨数组进行迭代 .

    要合并您的公式,请使用以下公式:

    ="=sort(ARRAYFORMULA({"&JOIN(";",ArrayFormula("IMPORTRANGE("""&VLOOKUP(FILTER(G2:G20,G2:G20<>""),Sheet3!$A$2:$B,2,0)&""","""&G1&"!A2:B"")"))&"}),1,True,2,True)"
    

    然后你可以手动将结果粘贴到G23或use script to paste formula

相关问题