google-apps-script - 成功运行后出现 Google 表格自定义函数错误 "Unknown function"

标签 google-apps-script google-sheets

在 Google 表格单元格中,通过 =sheetName() 调用自定义函数以运行以下脚本(将返回当前表格名称):

function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

在第一次编辑(单元格中的代码插入)时,该函数正常工作,但由于工作表已重命名,该函数将无法运行,因为单元格(调用自定义函数)内容未更新。再次编辑该单元格将显示错误“Unknown function”:

enter image description here

此时,在“违规”单元格中进行一些编辑,将再次正确运行自定义函数...

知道为什么该功能仅在编辑单元格内容时有效,而在重命名工作表“选项卡”时不运行吗?

最佳答案

Google 表格经过优化,可以尽可能高效地进行重新计算。完成此操作的主要方法之一是查看函数的参数并仅重新计算具有已更改的依赖项的单元格。

这通常不会引起问题,但是对于没有参数的函数,您会发现该函数运行一次就再也不会运行了。令人惊讶的是,即使您关闭并再次打开工作表,原始结果仍然存在。

一个 hacky 解决方案是放入一个引用另一个单元格的虚拟参数。

=sheetName(A1)

如果你想重新计算,只需更改 A1 的内容,它会强制你的函数重新计算。

关于google-apps-script - 成功运行后出现 Google 表格自定义函数错误 "Unknown function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57449247/

相关文章:

arrays - 如何合并谷歌电子表格中的范围

google-apps-script - 是否可以以编程方式在单个电子表格单元格中获取(设置)多个文本属性?

google-apps-script - 当 Zapier 更新工作表时运行 onEdit 触发器

javascript - 如何使一个单元格包含整个数组?

javascript - "Cannot find function replace"尝试替换部分字符串时出错

api - 新的 Google 电子表格导致 Google Visualization API 查询失败

sorting - 在单元格之间复制/粘贴 Google 表格中的查询并自动替换值

javascript - 使用谷歌应用程序脚本返回多次出现的值

javascript - Google Apps 脚本电子邮件范围的格式不起作用

google-apps-script - 通过 Google Apps 脚本打开 Google 电子表格