将单元格引用为另一个工作簿中 Sheet 的名称

Reference a Cell as the Name of a Sheet in Another Workbook

我有 ~400 sheet 分布在多个工作簿中(有意)。每个 sheet 是一个参赛作品在有奖比赛中的得分。

我有一个主记分卡 sheet,可以从每个 sheet 中获取分数,无论它在哪个工作簿中。我已经能够设置公式,如果我硬编码sheet 在其他一些工作簿中的名称,它正确地抓取数据:

=(IMPORTRANGE("LINKtoWORKBOOK","SHEETNAME!CELL"))

但这需要在此公式的每个实例中标识 SHEETNAME。我宁愿创建一个单独的列来列出每个 sheet 的名称,然后对于给定的行,让该行的公式全部查找具有 sheet 名称的单元格。

我试过使用 INDIRECT 但没有成功。我想我很接近:

=(IMPORTRANGE("LINKtoWORKBOOK",(INDIRECT(CELLwithSHEETname&"!CELLonTHATsheet"))))

我试过引号和移动括号的变体,但没有成功。

IMPORTRANGE 的第二个参数应该是文本值(字符串),这样您就可以将 sheet 名称连接到单元格/区域引用。 IE。如果 A1 有 sheet 名称使用

=IMPORTRANGE("spreadsheet_key",A1&"!A1:Z")

备注:

INDIRECT函数不能用,因为它returns引用好像直接写在公式里,即

=A1

相同
=INDIRECT("A1")

但是 IMPORTRANGE 要求第二个参数是一个文本值,所以上面只有当 A1 有类似 A1:ZSheet1!A1:Z 的东西(没有等号或加号)

数组不能用作 IMPORTRANGE 的参数。换句话说,像

=ARRAYFORMULA(IMPORTRANGE("spreadsheet_key",A1:A10))

不起作用。在这种情况下,替代方法是使用多个 IMPORTRANGE,每个引用一个。

相关

  • Using IMPORTRANGE, INDIRECT, and CONCATENATE together
  • Using IMPORTRANGE as an array formula