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

报错TypeError: Cannot read properties of undefined (reading 'getFormula')求解决

解决方案

问题根源分析

  1. 方法调用错误:你使用的getFormulas()是针对**多单元格范围(Range)**的方法,返回二维数组;单个单元格获取公式的正确方法是getFormula()。
  2. 参数无效:报错Cannot read properties of undefined说明传入的cell参数是undefined,并非有效的Range对象。

具体修复步骤

  • 修正方法名:将cell.getFormulas()替换为cell.getFormula(),适配单个单元格的公式获取需求。
  • 确保参数有效:调用function_1时必须传入有效的Range对象,示例代码如下:
    // 示例:主动获取目标单元格并传入函数
    function testFunction() {
      const activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      const targetCell = activeSheet.getRange("A1"); // 替换为你需要的单元格
      function_1(targetCell);
    }
    
    function function_1(cell) {
      // 先校验参数合法性
      if (!cell || !(cell instanceof Range)) {
        throw new Error("请传入有效的单元格Range对象");
      }
      const formula = cell.getFormula();
      // 后续业务逻辑...
    }
    
  • 规避手动运行的参数问题:如果直接在脚本编辑器手动运行function_1,系统不会自动传入参数,必须通过其他函数(如上述testFunction)调用,或者在function_1内部直接获取目标单元格,不要依赖外部参数传入。

额外提示

如果你的场景需要处理多单元格范围,保留getFormulas()的同时,要确保传入的是多单元格Range(比如activeSheet.getRange("A1:C3")),此时返回的是二维数组,需要遍历数组获取每个单元格的公式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 13:07:03