AppsScript复制筛选过的行,但会重复复制。
创始人
2024-11-10 09:00:20
0

可以使用setValues方法和filter方法来复制筛选过的行,并避免重复复制。

示例代码:

function copyFilteredRows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Sheet1");
  
  // 获取筛选条件
  var filter = sheet.getFilter();
  var range = filter.getRange();
  var values = range.getValues();
  var criteria = filter.getColumnFilterCriteria(1);
  
  // 应用筛选条件并复制行
  var filteredRange = range.offset(1, 0, range.getNumRows() - 1).getFilteredRanges()[0];
  var filteredValues = filteredRange.getValues();
  var numRows = filteredValues.length;
  var numCols = filteredValues[0].length;
  
  // 复制筛选后的行,并避免重复
  var targetSheet = ss.getSheetByName("Sheet2");
  var targetRange = targetSheet.getRange(2, 1, numRows, numCols);
  targetRange.clearContent();
  var targetValues = [];
  for (var i = 0; i < numRows; i++) {
    var row = filteredValues[i];
    var shouldCopy = true;
    for (var j = 0; j < numCols; j++) {
      var criterion = criteria[j];
      if (criterion && !criterion.isValidValue(row[j])) {
        shouldCopy = false;
        break;
      }
    }
    if (shouldCopy) {
      targetValues.push(row);
    }
  }
  targetRange.setValues(targetValues);
}

相关内容

热门资讯

技术分享"微信小程序... 【亲,微信小程序微乐房间怎么开挂 这款游戏可以开挂的,确实是有挂的,很多玩家在这款微信小程序微乐房间...
透视辅助“宝宝浙江游戏脚本”开... 您好:宝宝浙江游戏脚本这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
一分钟教你"掌酷天天... 一分钟教你"掌酷天天开心辅助器"开挂(下载)辅助下载有挂方法-必备教程;无需打开直接搜索加薇1367...
十分钟辅助“免费闲逸辅助器(免... 免费闲逸辅助器(免费) 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由...
玩家攻略推荐"陕西三... 玩家攻略推荐"陕西三代实战技巧"开挂(下载)辅助下载有挂实锤-总结教程 【无需打开直接搜索加薇136...
来一盘"牛魔辅助&q... 来一盘"牛魔辅助"开挂(平台)辅助平台有挂教学-透明挂教程;无需打开直接搜索加薇136704302(...
透视挂"边锋斗地主辅... 透视挂"边锋斗地主辅助微信"开挂(安装)辅助安装有挂猫腻-专业教程>>您好:软件加薇13670430...
必看攻略"微乐小程序... 必看攻略"微乐小程序辅助器脚本"开挂(插件)辅助插件有挂技术-德州论坛【无需打开直接搜索加薇1367...
一起来讨论"卡五星辅... 一起来讨论"卡五星辅助器逍遥"开挂(安装)辅助安装有挂猫腻-揭秘教程;无需打开直接搜索薇:13670...
最新通报"手机挂机软... 大家好,今天小编来为大家解答手机挂机软件这个问题咨询软件客服可以免费测试直接加微信(13670430...