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

Google Sheets脚本需求:表单提交时忽略A-J列写入K列

解决Google Apps脚本写入K列跳过有公式行的问题

问题根源

原脚本依赖dstSheet.getLastRow()确定写入位置,但getLastRow()会把包含公式(哪怕公式返回空值)的行判定为非空行,导致脚本跳过「Responses」工作表中A-J列有公式的行,转而写入下一行。

修改后的脚本

function onSubmit(e) {
  const range = e.range;
  const srcSheet = range.getSheet();
  const dstSheet = e.source.getSheetByName("Responses");
  const srcRange = srcSheet.getRange(range.rowStart, 1, 1, srcSheet.getLastColumn());
  // 直接使用表单提交的行号定位到Responses工作表的对应行K列
  const dstRange = dstSheet.getRange(range.rowStart, 11);
  srcRange.copyTo(dstRange, {contentOnly: true});
}

改动说明

  • 替换目标行定位逻辑:放弃getLastRow(),改用表单触发事件返回的range.rowStart(即「Form Responses 1」中新增提交数据的行号),直接定位「Responses」工作表对应行的第11列(K列)。
  • 无论「Responses」的A-J列是否有公式或内容,都会将提交数据写入对应行的K列,完全忽略A-J列的状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:52:35