Google sheets 谷歌表格地址公式为一个范围

Google sheets 谷歌表格地址公式为一个范围,google-sheets,concatenation,google-sheets-formula,textjoin,Google Sheets,Concatenation,Google Sheets Formula,Textjoin,在Google Sheets中,我目前有几个表示类的工作表,例如,可能如下所示: CLASS1: A1-Tom A2-Fred A3-Betty CLASS2: A1-Bruce A2-Jane A3-Sandy COLUMN_A: A1: CLASS1 A2: CLASS2 COLUMN_B: B1: Tom, Fred, Betty B2: Bruce, Jane, Sandy 然后在另一张表格“总结”中,我的目标是创建一个概览,以“CSV”格式按班级显示学生的姓名,如下所示: C

在Google Sheets中,我目前有几个表示类的工作表,例如,可能如下所示:

CLASS1:
A1-Tom
A2-Fred
A3-Betty

CLASS2:
A1-Bruce
A2-Jane
A3-Sandy
COLUMN_A:
A1: CLASS1
A2: CLASS2

COLUMN_B:
B1: Tom, Fred, Betty
B2: Bruce, Jane, Sandy

然后在另一张表格“总结”中,我的目标是创建一个概览,以“CSV”格式按班级显示学生的姓名,如下所示:

CLASS1:
A1-Tom
A2-Fred
A3-Betty

CLASS2:
A1-Bruce
A2-Jane
A3-Sandy
COLUMN_A:
A1: CLASS1
A2: CLASS2

COLUMN_B:
B1: Tom, Fred, Betty
B2: Bruce, Jane, Sandy

通过以下公式,我可以通过静态单元格引用实现B列中所需的内容:

=TEXTJOIN(", ",TRUE,CLASS1!A1:A3).
但是,如果我希望能够将其复制下来,我需要手动更改公式中的sheetnames(例如,CLASS1!A1:A3到CLASS2!A1:A3等等),使用A列中的值代替sheetnames

我已经成功地使用了A列中的值,根据第一项在各个表中的位置返回结果,如下所示:

=TEXTJOIN(", ",TRUE,INDIRECT(ADDRESS(7,1,4,TRUE,$A1)))
但是,这显然只返回列表中的第一项。为了让它以与上面静态解决方案相同的方式工作,我需要使它在一个范围内工作。这就是我被困的地方

非常感谢您的帮助。

尝试拖动:

=TEXTJOIN(", ", 1, INDIRECT("CLASS"&ROW(A1)&"!A1:A3"))

这让我朝着正确的方向去解决这个问题。谢谢