В настоящее время у меня есть сценарий, который копирует данные с нескольких листов с указанным именем c и затем объединяет их в мастер-лист.
Я пытаюсь выяснить, что делать, если лист не иметь это имя c. На данный момент у меня есть оператор if для этого случая, который будет просто возвращать первый лист, который он найдет в этой таблице. В идеале я хотел бы вернуть одну строку со значением «имя не найдено».
Я не знаком с Google Script или не работаю с электронными таблицами, поэтому, пожалуйста, укажите мне любую документацию, которая может помочь.
function populateMasterTracker() {
var trackerFolder = DriveApp.getFolderById("id");
var trackerFiles = trackerFolder.getFiles();
var combinedData = [];
var data;
//loop through files
while(trackerFiles.hasNext()){
var file = trackerFiles.next();
//object for each file
var fileObject = {
name: file.getName(),
id: file.getId()
}
data = getDataFromSheet(fileObject.id,fileObject.name);
combinedData = combinedData.concat(data);
}
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Master');
ss.getRange(2,1,combinedData.length,8).setValues(combinedData);
}
function getDataFromSheet(id,name){
var personalSheet = SpreadsheetApp.openById(id);
var ss = personalSheet.getSheetByName('QC');
if(!ss){
//if qc not found
Logger.log(name+ " not found")
ss = personalSheet.getSheets()[0];
}
var lastFilledRow = getLastPopulatedRow(ss.getRange('A:F').getValues());
var range = ss.getRange('A2:H'+lastFilledRow);
var data = range.getValues();
Logger.log(data)
return data
}