Mar*_*ghi 3 google-sheets google-apps-script
我有一个Google电子表格,其中包含不同的表格,每个表格代表不同的一周。
例如:
我想根据这些工作表的内容制作图表。我有什么办法可以制定公式并从单元格的内容中提取工作表的名称?
例如,类似“ = EVAL(A1)!$ B $ 4”的内容,那么我将获得“ 1/12-1/16”中的内容!$ B $ 4,而不必经历一年中的每个星期手动。
谢谢您的帮助!
小智 5
无需使用AppScript,INDIRECT足以从单元格中读取工作表名称:
=INDIRECT(A1 & "!$B$4")
Run Code Online (Sandbox Code Playgroud)
但是,如果您想从其索引而不是从单元格获取工作表名称,则看起来Andy的答案就是解决方法。
最好使用 AppScript。在“工具”->“脚本编辑器”中创建一个新的 AppScript 脚本:
function getSheetName(i) {
var s = SpreadsheetApp.getActiveSpreadsheet().getSheets()
return s[i].getName();
}
Run Code Online (Sandbox Code Playgroud)
在脚本中使用该函数后,您就可以使用自定义函数=getSheetName(<SHEETNUMBER>),它将根据工作表编号(从 0 开始)检索工作表名称。从那里,只需将其合并到您的公式中即可。您可能需要使用INDIRECT。
示例:=INDIRECT(getSheetName(1)&"!A1")获取第二个工作表中的单元格 A1。