如何使用在另一个单元格中作为字符串编写的公式[评估Google电子表格]

son*_*gel 7 formulas evaluate google-sheets

我阅读了几篇关于Google Spreadsheet缺少评估功能的旧帖子.2016年有什么解决方案吗?

最简单的例子.

  • 'A1'包含以下字符串: UNIQUE(C1:C5)
  • 'B1'我想用它来评估用'A1'写的独特公式.

我试过用这种方式连接:'B1'包含="="&A1但结果是字符串= UNIQUE(C1:C5).我也试过了间接公式.

有什么建议打破最后的希望吗?

附加说明

目的是在电子表格中编写公式,并通过其他几个电子表格使用这些公式.因此,任何改变都必须在一个地方完成.

Rub*_*bén 6

简答

使用包含诸如var formula = origin.getValue()获取字符串之类的内容和destination.setFormula(formula)返回公式之类的内容的脚本。

解释

正如 OP 已经提到的,Google Sheets 没有 EVALUATE() 内置函数。不能使用自定义函数,因为自定义函数只能返回一个或多个值,但不能修改其他单元格属性。

由自定义菜单、事件或 Google Apps 脚本编辑器触发的脚本可用于更新指定单元格的公式。

由于公式将保存为字符串,因此将它们保存在脚本中而不是电子表格本身会更容易。

例子

下面是一个非常简单的脚本,用于将指定的公式添加到活动范围。

函数添加公式(){
  var 公式 = '=UNIQUE(C1:C5)';
  var range = SpreadsheetApp.getActiveRange();
  range.setFormula(公式);
}