我希望有人可以帮助我,我在过去的几天里一直在做很多搜索并且没有找到解决方案。可能与我缺乏编码知识有关......我知道这很危险,只是不够有效或高效!
首先,这是我的目标。
目前,我设法创建了一个脚本,该脚本将删除所有选项卡(主列表除外)并使用指定的名称重新创建它们。我无法做的是让每张纸过滤结果。我似乎无法获得我在论坛中找到的任何代码。什么都不会在任何选项卡上自动过滤结果,它只复制主列表并重命名选项卡。有人能指出我正确的方向吗?
我能以最有效的方式解决这个问题吗?我是否需要一个可以在命令中运行脚本的按钮? “团队成员”工作表是否有办法根据输入主列表的内容进行实时更新?我试图利用这些信息(Filter data by column K in Google Script Editor (Google Sheets)),但无法在我的文档中使其发挥作用。
对于冗长的帖子感到抱歉,提前感谢所有帮助!
原始档案的副本: https://docs.google.com/spreadsheets/d/141JochDYmt9RHRnyaY2iIoyAISCNNXFVUvEtJlBwtiQ/edit?usp=sharing
代码示例:
function RunFilters() {
var name = "Adam";
/*ADAM*/
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Marketing').copyTo(ss);
/* Before cloning the sheet, delete any previous copy */
var old_name = ss.getSheetByName(name);
if (old_name) ss.deleteSheet(old_name); // or old.setName(new Name);
SpreadsheetApp.flush();
sheet.setName(name);
/* Make the new sheet active */
ss.setActiveSheet(sheet);
function myFunction() {
var ss = SpreadsheetApp.getSheetByName('Marketing'); //replace with source Sheet tab name
var range = ss.getRange('A:I'); //assign the range you want to copy
var data = range.getValues();
var tss = SpreadsheetApp.getActiveSpreadsheet(); //replace with destination ID
var ts = tss.getSheetByName('Adam'); //replace with destination Sheet tab name
ts.getRange(ts.getLastRow() + 1, 1, data.length, data[0].length).setValues(data);
var range = ts.getRange(ts.getLastRow() + 1, 1, data.length, data[0].length)
var rawData = range.getValues() // get value from spreadsheet 2
var data = [] // Filtered Data will be stored in this array
for (var i = 0; i < rawData.length; i++) {
if(rawData[i][5] == "Adam") // Check to see if column K says ipad if not skip it
{
data.push(rawData[i])
}
}
}
}