else if in google script

116,688

Fist, you have a bracket in the wrong place. Second, you need to do the true/false compare to the cellisblank variables. Also, there is a typo (2SpreadsheetApp). Try try this:

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")
  }
}  
Share:
116,688
captCC
Author by

captCC

Updated on July 09, 2022

Comments

  • captCC
    captCC almost 2 years

    I'm trying to search a range of cells, I already have the formulas set up for filtering. I'm trying to determine three different values a cell could have and use setFormula depending on which value the cell matches. Her's what I've come up with so far. It's working for the first two formulas but isn't setting "formula 3" if both cells contain data.

    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")
        }