首页 > 解决方案 > 将数据从一个工作簿过滤到另一个工作簿和 Google 表格中第二个工作簿中的工作表

问题描述

所有数据都通过应用程序脚本(下面的代码)合并在此工作表中 https://docs.google.com/spreadsheets/d/1Y48N8W8CdaNlrxXopj5lnHTiNep33g_qA2-kTrPdt3A/edit#gid=130911536

我需要这些数据中每个唯一名称不包含“已完成”的所有行。此数据与第 1、2、3、5 和 11 列一起放在此处:https ://docs.google.com/spreadsheets/d/1brmAUrtF4Hu18X4bGYGekdEl8g4Sx1Eke5Q6KctJ4NU/edit#gid=0

如果存档为否且 E 列包含已完成,我需要在原始工作簿中的“要存档的项目”表中放入相同的列 1、2、3、5 和 11

我需要每件事只复制一次。没有重复。

应用脚本代码:

function combineSheets() {
  const sApp = SpreadsheetApp.getActiveSpreadsheet();
  const months = ['January','February','March','April','May','June','July',
                 'August','September','October','November','December'];  
  const master = sApp.getSheetByName('Master');          
  const sourceData = [];
  months.forEach(m=>{
     let sh = sApp.getSheetByName(m);
     let vals = sh.getRange(2,1,sh.getLastRow(),27).getValues().filter(r=>r[1]!='');
       sourceData.push(...vals);
  });
  master.getRange(1,1,sourceData.length,sourceData[0].length).setValues(sourceData);
}

标签: google-apps-scriptgoogle-sheetsfilter

解决方案


推荐阅读