2016-04-13 29 views
1

Bu yüzden şu senaryoyu kullanıyorum (kredi: Eduardo Kuwakino). Sorun şu ki, satırları A: A sütunundan tek tek "x" değeri ile gizler. Bu e-tabloları düzenleyen kişiler için bu "daha az acı verici" yapmak mümkün mü?Bir Google e-tablosunun birçok satırını aynı anda gizlemek mümkün mü?

function hideCells(sheet) 
{ 
    var maxRows = sheet.getMaxRows(); 

    //show all the rows 
    sheet.showRows(1, maxRows); 

    //get data from clumn A 
    var data = sheet.getRange('A:A').getValues(); 

    //iterate over all rows 
    for(var i=0; i< data.length; i++){ 
    //compare first character, if asterisk, then hide row 
    if(data[i][0].charAt(0) == 'x'){ 
     sheet.hideRows(i+1); 
    } 
    }} 

function onOpen() { 
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 

    for(var i=0; i< sheets.length; i++){ 

     hideCells(sheets[i]); 
    } 
} 

cevap

3

kerede birkaç satırı gizleyebilirsiniz bir yöntem hideRows vardır, ancak bunlar ardışık olmalıdır. Durumunuzda, satırlar genel olarak ardışık olmayacaktır. Böylece, betik bunları birer birer saklamak zorundadır (ya da birkaçı bir araya geldiğinde gruplar halinde olabilir, ama bunun çok yardımcı olacağını sanmıyorum). Ve gerçekten, bu büyük bir sayfada yavaş olacaktır. Bir alternatif olarak

, Özellikle özel formül ile kolon A tabaka filtre bir filter view kullanılarak göstermektedir =A2<>"x"

filter view

Her filtre görünüşüdür düzenleme insan gönderilebilir kendi URL'sini, var elektronik tablo. Sadece A'daki değerin "x" den farklı olduğu satırları göreceklerdir.