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

Google Sheets表单提交触发复制行时跳过C列的脚本调整咨询

修改后可直接使用的代码

function CopyToAnotherSheet() {
  // 10秒延迟,确保表单提交的关联数据(如Google Doc URL)生成完成后再执行
  Utilities.sleep(10000);

  // 获取源表格及最后一行数据
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var source_sheet = source.getActiveSheet();
  var lastRow = source_sheet.getLastRow();
  var lastColumn = source_sheet.getLastColumn();
  var lastRowOfData = source_sheet.getRange(lastRow, 1, 1, lastColumn).getValues();

  // 生成一维行数组,修复原代码单元格含逗号时拆分错误的问题
  var oneD_array = lastRowOfData[0];
  // 读取C列值用于判断目标同步位置,先取值再删除C列数据
  var cellValue = source_sheet.getRange(lastRow,3).getValue();
  // 删除C列对应数据:数组索引从0开始,C列对应索引2,删除1个元素
  oneD_array.splice(2, 1);

  // 同步到第一个目标表格
  if ( cellValue == "First" ) {
    var target = SpreadsheetApp.openById("xxxyyyzzz");
    var target_sheet = target.getSheetByName("First");
    target_sheet.appendRow(oneD_array);
  }
  // 同步到第二个目标表格
  if ( cellValue == "Second" ) {
    var target = SpreadsheetApp.openById("aabbcc");
    var target_sheet = target.getSheetByName("Second");
    target_sheet.appendRow(oneD_array);
  }
}

核心修改说明

  • 优化原一维数组生成逻辑:原代码使用join().split(",")处理行数据,如果单元格内容本身包含逗号会导致数据错位,直接取lastRowOfData[0]即可得到正确的一维行数据
  • 新增跳过C列逻辑:oneD_array.splice(2, 1)表示从数组索引2(对应表格第三列即C列)的位置删除1个元素,写入目标表格时就会自动跳过C列数据
  • 优化C列取值逻辑:单个单元格直接用getValue()读取值,避免原代码getValues()返回二维数组带来的判断问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:15:05