2016-03-27 6 views
1

セルの範囲を検索しようとしていますが、フィルタリング用の式が既に設定されています。私はセルが持つことができる3つの異なる値を決定しようとしており、セルが一致する値に応じてsetFormulaを使います。彼女はこれまで私が思いついたものだ。最初の2つの式では動作しますが、両方のセルにデータが含まれている場合は「式3」が設定されていません。else googleスクリプトの場合

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

答えて

0

拳、間違った場所に括弧があります。次に、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") 
    } 
}