Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 满足条件时隐藏行_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 满足条件时隐藏行

Google apps script 满足条件时隐藏行,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有下面的脚本,用于搜索范围“S:S”中的“Dead”或“Booked”,如果找到,则隐藏该行。如果在隐藏行中找到“Live”,则应取消隐藏该行。 下面的脚本正在工作,但是,它取消隐藏所有行,然后完成函数,当搜索超过1000行时,这可能需要一段时间 函数行隐藏(e){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sht2=ss.getSheetByName(“日志”); var row=sht2.getRange(“S:S”).getDis

我有下面的脚本,用于搜索范围“S:S”中的“Dead”或“Booked”,如果找到,则隐藏该行。如果在隐藏行中找到“Live”,则应取消隐藏该行。 下面的脚本正在工作,但是,它取消隐藏所有行,然后完成函数,当搜索超过1000行时,这可能需要一段时间

函数行隐藏(e){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sht2=ss.getSheetByName(“日志”);
var row=sht2.getRange(“S:S”).getDisplayValues();
showRows(1,sht2.getMaxRows()){
对于(变量i=0;i
我需要将脚本更改为仅需要操作的操作行,而不是所有操作行。这可能吗?

使用OneEdit触发器隐藏行
函数rowHideProbablyOnEdit(e){
var ss=e.来源;
var rg=e.范围;
var sh=rg.getSheet();
如果(sh.getName()=“日志”){
var datR=sh.getDataRange();
var valA=datR.getValues();

对于(var i=0;我想知道详细的答案,这看起来工作得很好!-只是一个关于未来的快速问题:为什么对这个问题持否定态度?很难说不同的人对一个研究不足的问题有不同的看法
function rowHideProbablyOnEdit(e){
  var ss=e.source;
  var rg=e.range;
  var sh=rg.getSheet();
  if(sh.getName()=="Log"){
    var datR=sh.getDataRange();
    var valA=datR.getValues();
    for(var i=0;i<valA.length;i++){
      if(valA[i][18]=='Dead' || valA[i][18]=='Booked'){
        sh.hideRows(i+1);
      }
    }
  }
}
function rowShowHideProbablyOnEdit(e){
  var ss=e.source;
  var rg=e.range;
  var sh=rg.getSheet();
  if(sh.getName()=="Log"){
    var datR=sh.getDataRange();
    var valA=datR.getValues();
    for(var i=0;i<valA.length;i++){
      if(valA[i][18]=='Dead' || valA[i][18]=='Booked'){
        sh.hideRows(i+1);
      }
      if(valA[i][18]=='Live'){
        Logger.log('Sheet: %s',sh.getName());
        sh.showRows(i+1);
      }
    }
  }
}
function rowLiveSetup(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Log');
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  for(var i=0;i<vA.length;i++){
    if(vA[i][18]=='Booked'){
      vA[i][18]='Live';
    }
  }
  rg.setValues(vA);
}

function rowBookedDeadSetup(){
   var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Log');
  var rg=sh.getRange(1,1,180,20);
  var vA=rg.getValues();
  for(var i=0;i<180;i++){
    if(i%3==0){
      vA[i][18]='Booked';
    }
    if(i%3==1){
      vA[i][18]='Dead';
    }
  }
  rg.setValues(vA);
}