【问题标题】:Google spreadhseet EVAL function谷歌电子表格 EVAL 函数
【发布时间】:2015-06-08 15:16:21
【问题描述】:
我有一个包含不同工作表的谷歌电子表格,每一个代表不同的一周。
例如:
我想根据这些表格的内容制作一个图表。有什么方法可以制作公式并从单元格的内容中提取工作表的名称?
例如“=EVAL(A1)!$B$4”之类的内容,那么我将获得“1/12 - 1/16”的内容!$B$4,而不必每个星期都经过年度最佳手动。
感谢您的帮助!
【问题讨论】:
标签:
google-apps-script
google-sheets
【解决方案1】:
无需使用 AppScript,INDIRECT 足以从单元格中读取工作表名称:
=INDIRECT(A1 & "!$B$4")
但是,如果您想从索引而不是单元格中获取工作表名称,Andy 的答案似乎是可行的方法。
【解决方案2】:
最好使用 AppScript。在工具 -> 脚本编辑器中创建一个新的 AppScript 脚本:
function getSheetName(i) {
var s = SpreadsheetApp.getActiveSpreadsheet().getSheets()
return s[i].getName();
}
在您的脚本中,您可以使用自定义函数=getSheetName(<SHEETNUMBER>),它将根据工作表编号(从 0 开始)检索工作表名称。从那里,只需将其合并到您的公式中。您可能需要使用INDIRECT。
示例:=INDIRECT(getSheetName(1)&"!A1") 获取第二张工作表中的单元格 A1。