否则如果在谷歌脚本中

cap*_*tCC 3 javascript if-statement google-sheets

我正在尝试搜索一系列单元格,我已经设置了用于过滤的公式。我正在尝试setFormula根据单元格匹配的值来确定单元格可以具有和使用的三个不同值。到目前为止,她是我想出的。它适用于前两个公式,但如果两个单元格都包含数据,则不会设置“公式 3”。

function setFormulas(){
    var ss = SpreadsheetApp.getActive()          
    var sheet = SpreadsheetApp.getActiveSheet()
    var cell = ss.getActiveCell()
    var cell1 = ("C2");
    var formulaCell = ("A5");
    var cell2 = ("C3");
    var cell1isblank = SpreadsheetApp.getActiveSheet().getRange(cell1).isBlank()
    var cell2isblank = SpreadsheetApp.getActiveSheet().getRange(cell2).isBlank()


    if (cell1 == "0" ) {
        SpreadsheetApp.getActiveSheet().getRange(formulaCell).setFormula("formula1")
    }
    else if (cell2 == "0" ) {
        2SpreadsheetApp.getActiveSheet().getRange(formulaCell).setFormula("formula2")
    }

}

    else {
       SpreadsheetApp.getActiveSheet().getRange(formulaCell).setFormula("Formula3")
    }
Run Code Online (Sandbox Code Playgroud)

Ed *_*son 8

拳头,你在错误的地方有一个支架。其次,您需要对 cellisblank 变量进行真/假比较。此外,还有一个错字 (2SpreadsheetApp)。试试这个:

function setFormulas(){
   var ss = SpreadsheetApp.getActive()          
   var sheet = SpreadsheetApp.getActiveSheet()
   var cell = ss.getActiveCell()
   var cell1 = ("C2");
   var formulaCell = ("A5");
   var cell2 = ("C3");
   var cell1isblank = SpreadsheetApp.getActiveSheet().getRange(cell1).isBlank()
   var cell2isblank = SpreadsheetApp.getActiveSheet().getRange(cell2).isBlank()

    if (cell1isblank == false && cell2isblank == true) {
  SpreadsheetApp.getActiveSheet().getRange(formulaCell).setFormula("=formula1")
    }
    else if (cell2isblank == false && cell1isblank == true ) {
SpreadsheetApp.getActiveSheet().getRange(formulaCell).setFormula("=formula2")
    }
  //}
   else {
  SpreadsheetApp.getActiveSheet().getRange(formulaCell).setFormula("=Formula3")
  }
}  
Run Code Online (Sandbox Code Playgroud)