You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets:如何执行其他单元格中写入的公式?

在Google Sheets中执行单元格内的公式文本

Google Sheets没有内置的EVALUATE函数,INDIRECT仅支持单元格引用解析,无法执行完整公式文本。以下是两种可行方案:

方案一:自定义Apps Script函数(通用解法)

这是最灵活的方案,能处理绝大多数公式类型:

  1. 打开Google Sheets,点击「扩展程序」→「Apps Script」进入脚本编辑器。
  2. 删除默认代码,粘贴以下自定义函数:
function RUN_FORMULA(formula) {
  if (typeof formula !== 'string') return formula;
  try {
    const ss = SpreadsheetApp.getActiveSpreadsheet();
    // 若公式带等号(如=SUM(Sheet1!A1:A5)),直接执行
    if (formula.startsWith('=')) {
      return ss.eval(formula);
    }
    // 若为不带等号的单元格引用(如Sheet1!A1),返回对应值
    return ss.getRange(formula).getValue();
  } catch (err) {
    return `执行失败: ${err.message}`;
  }
}
  1. 返回表格,在C1单元格输入=RUN_FORMULA(B1),下拉填充即可批量执行B列的公式。

方案二:手动重构公式(无脚本解法)

如果B列的公式逻辑统一(比如都是引用其他工作表的特定范围),可以直接用INDIRECT拼接公式,无需脚本。例如:

  • A列是工作表名,B列是=SUM(A1:A10)
  • 在C列直接写:=SUM(INDIRECT(A2&"!A1:A10"))
    这种方式适合公式结构固定的场景,不需要授权脚本。

内容的提问来源于stack exchange,提问作者Shivam Tyagi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:11:04