Google Script - 行数据更新时如何向单元格添加公式?
实现Google Sheet Typeform同步行自动填充公式的方案
提供两种可直接落地的实现方式,按需选择即可:
方案一:Google Apps Script 可安装触发器(适配所有场景,推荐)
该方案适配Typeform所有同步逻辑,不会出现公式错位、性能卡顿问题:
- 打开你关联Typeform的Google Sheet,点击顶部菜单栏「扩展程序」→「Apps 脚本」进入脚本编辑器
- 清空默认的空白代码,粘贴以下代码,按注释替换成你自己的工作表名和对应列公式:
function autoFillFormulas(e) { // 替换为你的实际工作表名称 const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1'); const lastRow = sheet.getLastRow(); // 校验规则:当前行A列有Typeform写入的内容,且K列未填充过公式才执行 const colAHasValue = sheet.getRange(lastRow, 1).getValue() !== ''; const colKIsEmpty = sheet.getRange(lastRow, 11).getValue() === ''; if (colAHasValue && colKIsEmpty) { // 以下4个公式替换为你预设的K-N列标准公式,${lastRow}会自动匹配当前新增行的行号 const kFormula = `=A${lastRow}&B${lastRow}`; const lFormula = `=IF(C${lastRow}>10,"达标","未达标")`; const mFormula = `=VLOOKUP(D${lastRow},配置页!A:B,2,0)`; const nFormula = `=SUM(E${lastRow}:I${lastRow})`; // 批量写入K(第11列)到N(第14列)的公式 sheet.getRange(lastRow, 11, 1, 4).setFormulas([[kFormula, lFormula, mFormula, nFormula]]); } }
- 保存脚本项目,点击编辑器左侧的闹钟图标「触发器」→「添加触发器」,按以下规则配置:
- 选择要运行的函数:
autoFillFormulas - 选择事件来源:
电子表格 - 选择事件类型:
更改(如果你的Typeform是绑定Google表单同步的,也可以选「表单提交」,选「更改」适配所有场景) - 保存后按页面提示完成脚本访问表格的权限授权
- 选择要运行的函数:
- 提交一次Typeform测试,新增行的K-N列就会自动填充预设公式
方案二:数组公式预填充(无需代码,适合简单公式场景)
如果你的公式逻辑简单,不想写代码可以用该方案:
- 点击K列第一个空行(比如K2,即表头下第一行),输入数组公式:
=ARRAYFORMULA(IF(A2:A<>"",此处替换为K列的单行公式逻辑,"")),整列K列会自动批量计算 - 同理L、M、N列也对应输入适配整列的数组公式即可
- 注意:该方案在公式复杂、数据量超过1000行时会明显拖慢表格运行速度,且如果Typeform插入中间行可能出现公式范围错位
内容的提问来源于stack exchange,提问作者LOKY
相关产品推荐
相关产品推荐

