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

如何修改Google Sheets脚本实现按条件导出指定行至其他工作表

修改后的Google Apps Script代码
function copyPaste() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getSheetByName("Print Results");
  // 仅获取A8到M列的范围:第8行开始,第1列(A)到第13列(M),行数为源表最后一行减7(排除前7行)
  var rangeSource = source.getRange(8, 1, source.getLastRow() - 7, 13);
  var data = rangeSource.getValues();
  // 过滤规则:仅保留J列(对应数组索引9,数组从0开始计数)值大于0的行,用Number转换避免文本型数字判断错误
  var filteredData = data.filter(row => Number(row[9]) > 0);
  Logger.log(filteredData);

  // 没有符合条件的数据直接终止,避免报错
  if (filteredData.length === 0) return;

  var sss = SpreadsheetApp.openById("XXXXXX");
  var target = sss.getSheetByName("Sheet2");
  // 写入范围的行高列宽匹配过滤后的数据
  target.getRange(target.getLastRow() + 1, 1, filteredData.length, filteredData[0].length).setValues(filteredData);
}
核心修改点说明
  • 调整了读取范围:不再读取整个工作表的已用数据,仅固定读取A8到M列的内容,排除了无关的行和列
  • 新增了行过滤逻辑:针对J列(数组索引为9,因为JS数组从0开始计数,A列对应索引0,J列是第10列对应索引9)做判断,用Number()强制转换数值类型,兼容VLOOKUP返回的文本格式数字的判断场景,仅保留USER ID大于0的行
  • 新增了空数据判断:如果没有符合条件的行直接终止脚本,避免调用setValues时因空数组抛出报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:45:06