Googlesheet脚本变量仅在手动输入单元格时触发

时间:2019-04-07 20:12:20

标签: google-apps-script google-sheets

我正在尝试一些比较简单但无法正常工作的事情:

我想根据一个单元格的值隐藏多个列和/或行。

我让它使用简单的脚本工作,但是似乎只有在所涉及的触发单元具有手动输入的值时,即当我具有“ 0”和“ 1”的下拉列表时,它才能完成工作手动将其从“ 0”更改为“ 1”。

但是,所讨论的单元格通过简单的if条件获得其自身的值,即使最后该值看起来像脚本在这种情况下也不起作用。

感谢您的帮助。

那是我在网上找到的脚本,除了在我的情况下未被正确触发外,它非常有用:

//TITLE:
//Hide a row if a value is inputted.


//**GLOBALS**

// Sheet the data is on.
var SHEET = "TEST2";

// The value that will cause the row to hide. 
var VALUE = "1";

// The column we will be using 
var COLUMN_NUMBER = 1

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = ss.getActiveSheet();


  //Ensure on correct sheet.
  if(SHEET == activeSheet.getName()){
    var cell = ss.getActiveCell()
    var cellValue = cell.getValue();


    //Ensure we are looking at the correct column.
    if(cell.getColumn() == COLUMN_NUMBER){
      //If the cell matched the value we require,hide the row. 
      if(cellValue == VALUE){
        activeSheet.hideRow(cell);
      };
    };
  };
}

有问题的单元格使用以下简单行:

=IF(INDIRECT("A4")=1,"0",IF(E10="NON-FACS",1,0))

当前结果是:什么都没有发生(除非手动输入)

预期结果是:应该隐藏第1列

0 个答案:

没有答案