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

如何将谷歌表格两列数据合并导入单列?Google Apps Script求助

谷歌表格脚本修正:合并E/F列到目标工作表D列

你原脚本里合并E、F列的写法有误,entry_location1 && entry_location2这种逻辑运算符无法处理二维数组格式的表格数据。下面是修正后的完整脚本,核心是通过遍历数组将对应行的E、F列内容拼接:

//Section A: Form Response Data collection.  
function dewarData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName('Form Response Data');
  // 动态获取数据最后一行,避免硬写固定行数
  var lastRow = sheet1.getLastRow();
  var entry_date = sheet1.getRange(2, 1, lastRow - 1, 1).getValues();
  var entry_shift = sheet1.getRange(2, 2, lastRow - 1, 1).getValues();
  var entry_type = sheet1.getRange(2, 4, lastRow - 1, 1).getValues();
  var entry_location1 = sheet1.getRange(2, 5, lastRow - 1, 1).getValues();
  var entry_location2 = sheet1.getRange(2, 6, lastRow - 1, 1).getValues();
  var entry_ser_type = sheet1.getRange(2, 47, lastRow - 1, 1).getValues(); // AU列对应数字索引47

  // 合并E、F列数据:遍历每一行拼接内容,同时处理空值
  var mergedLocations = [];
  for (var i = 0; i < entry_location1.length; i++) {
    var loc1 = entry_location1[i][0] || '';
    var loc2 = entry_location2[i][0] || '';
    // 用空格分隔两个地址,可自行替换成其他分隔符(比如"/"、"-")
    var mergedContent = loc1 + (loc1 && loc2 ? ' ' : '') + loc2;
    mergedLocations.push([mergedContent]); // 保持二维数组格式,适配setValues要求
  }

  // Section B: 写入到Data Overview工作表
  var sheet2 = ss.getSheetByName('Data Overview');
  var targetStartRow = 3;
  sheet2.getRange(targetStartRow, 1, mergedLocations.length, 1).setValues(entry_date);
  sheet2.getRange(targetStartRow, 2, mergedLocations.length, 1).setValues(entry_shift);
  sheet2.getRange(targetStartRow, 3, mergedLocations.length, 1).setValues(entry_type);
  sheet2.getRange(targetStartRow, 4, mergedLocations.length, 1).setValues(mergedLocations);
  sheet2.getRange(targetStartRow, 5, mergedLocations.length, 1).setValues(entry_ser_type);
}

关键修改说明:

  • 合并逻辑:通过循环遍历每一行的E、F列数据,将两个单元格内容拼接成字符串,同时判断空值避免出现多余的分隔符。注意setValues()要求传入二维数组,所以每个合并后的内容需要放在子数组中再存入结果数组。
  • 动态行数优化:用getLastRow()获取实际数据的最后一行,替代原脚本中硬写的350行,既不会处理空行,也不会漏掉新增的表单数据。
  • 列索引优化:改用数字索引定位AU列(第47列),比直接用列名更稳定,避免列名修改导致脚本失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 07:58:21