Google spreadhseet EVAL功能

时间:2015-06-08 15:16:22

标签: google-apps-script google-sheets

我有一个包含不同表格的谷歌电子表格,每个表格代表不同的一周。

例如:

  • 1/12 - 1/16
  • 1/19 - 1/23

我想根据这些表格的内容做一个图表。有什么方法可以制作公式并从单元格的内容中提取工作表的名称吗?

例如" = EVAL(A1)!$ B $ 4",然后我会得到来自" 1/12 - 1/16"!$ B $ 4的内容而不是必须手动完成一年中的每一周。

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

无需使用AppScript,INDIRECT足以从单元格中读取工作表名称:

=INDIRECT(A1 & "!$B$4")

然而,如果你想从索引而不是单元格中获取工作表名称,看起来Andy的答案就是这样。

答案 1 :(得分:2)

最好使用AppScript。在工具中 - >脚本编辑器创建一个新的AppScript脚本:

function getSheetName(i) {
  var s = SpreadsheetApp.getActiveSpreadsheet().getSheets() 
  return s[i].getName();
}

在脚本中使用它,然后您可以使用自定义函数=getSheetName(<SHEETNUMBER>),它将根据它的工作表编号(从0开始)检索工作表名称。从那里,只需将其纳入您的公式。您可能需要使用INDIRECT

示例:=INDIRECT(getSheetName(1)&"!A1")在第二张表中获取单元格A1。