如果日期为<= -4
,我将使用此代码根据列设置一些值function SetValues(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var responses = ss.getSheetByName("tt");
var data = responses.getRange(1,1,responses.getLastRow(),responses.getLastColumn()).getValues();
data.forEach(function(row,i) {
var date = row [0];
var nombre = row [1];
var pidePor = row [2];
var fechaFin = row [3];
var dias = row [4];
if (dias <= -4){
var val = responses.getRange( i + 1, 2).getValue();
responses.getRange( i + 1, 2).setValue(val);
var val = responses.getRange( i + 1, 3).getValue();
responses.getRange( i + 1, 3).setValue(val);
var val = responses.getRange( i + 1, 4).getValue();
responses.getRange( i + 1, 4).setValue(val);
}
});
}
在引用的标签中它可以正常工作,但我需要的是能够在我的工作表上全部运行它,但不包括某些标签
任何人都可以帮助我如何完成此任务吗?
我已经尝试了好几个小时了,
谢谢!
答案 0 :(得分:2)
您需要做的就是将其放入包装函数中
numberAllTheSheets(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
sheets = ss.getSheets();
for (i=0; i<sheets.length; i++){//Avoids sheets named "sheet one" and "sheet four"
if sheets[i].getName=="Sheet One") continue;
if sheets[i].getName=="Sheet Four") continue;
SetValues(sheets[i]);
}
然后将设置值修改为:
function SetValues(responses){
var data = responses.getRange(1,1,responses.getLastRow(),responses.getLastColumn()).getValues();
data.forEach(function(row,i) {
var date = row [0];
var nombre = row [1];
var pidePor = row [2];
var fechaFin = row [3];
var dias = row [4];
if (dias <= -4){
var val = responses.getRange( i + 1, 2).getValue();
responses.getRange( i + 1, 2).setValue(val);
var val = responses.getRange( i + 1, 3).getValue();
responses.getRange( i + 1, 3).setValue(val);
var val = responses.getRange( i + 1, 4).getValue();
responses.getRange( i + 1, 4).setValue(val);
}
});
}
}
}
答案 1 :(得分:1)
尝试一下:
function runSetValuesExceptForSomeSheets(){
var ss=SpreadsheetApp.getActive();
var sheets=ss.getSheets();
var excluded=['Sheet1','Sheet4'];//add names of sheets that are excluded
for (i=0;i<sheets.length;i++) {
if(excluded.indexOf(sheets[i].getName())==-1) {
var sheet=sheets[i];
var data=sheet.getDataRange().getValues();
for(var j=0;j<data.length;j++) {
if(data[i][4]<=4) {
var valA=sheet.getRange(i + 1,2,1,3).getValues();//This makes no sense
sheet.getRange(i+1,2,1,3).setValues(valA);//This makes no sense
}
}
}
}
}