Скрыть строку в Google Sheets, если ячейка содержит "нет" - несколько листов
Я работаю с 1 главной таблицей, и из 4 таблиц для конкретного продукта извлекается информация. Если соответствующая информация не извлекается, в таблицах меньшего размера отображается "нет" во всех ячейках. Я хочу, чтобы строки с "нет" были скрыты.
Я что-то взломал, что-то вроде этого. Но я не могу заставить его работать на всех 4 листах. Я пробовал getSheets(), я пробовал getSheetByName(name) и называл все 4 листа... это не работает.
Вот что у меня так далеко:
function onOpen() {
var ss = SpreadsheetApp.getActive();
var sheets = ss.getSheets(); // array of all sheet objects in ss
var numSheets = ss.getNumSheets(); // count of sheets
//show all the rows
sheet.showRows(1, maxRows);
//get data from clumn C
var data = sheet.getRange('C:C').getValues();
//iterate over all rows
for(var i=0; i< data.length; i++){
//compare column, if no, then hide row
if(data[i][0] == 'no'){
sheet.hideRows(i+1);
}
}
}
1 ответ
Решение
Попробуйте: (отредактировано)
function onOpen() {
var ss = SpreadsheetApp.getActive();
var sheets = ss.getSheets(); // array of all sheet objects in ss
var numSheets = ss.getNumSheets(); // count of sheets
for(sheet in sheets) {
if(sheets[sheet].getSheetName() == "Master") continue;
//show all the rows
sheets[sheet].showRows(1, sheets[sheet].getMaxRows());
//get data from clumn C
var data = sheets[sheet].getRange('C:C').getValues();
//iterate over all rows
for(var i=0; i< data.length; i++){
//compare column, if no, then hide row
if(data[i][0] == 'no'){
sheets[sheet].hideRows(i+1);
}
}
}
}