在gs中使用IF语句替换单元格值

时间:2018-08-24 12:23:38

标签: google-sheets

我来自VBA,并且正在学习GS。我想使用基于IF语句的新值替换单元格中的值。我有以下代码不起作用。我做错了什么?谢谢。

function ChangeCharacter() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var cell = ss.getRange("A16");
    var cellValue = cell.getValue();
    if (cell.Value == "BoogeyMan") {
        cell.setValue("ToothFairy");
    }
}

1 个答案:

答案 0 :(得分:0)

您真的很亲近。将if(cell.Value ==“ BoogeyMan”)更改为if(cellValue ==“ BoogeyMan”)。这样就可以解决。

有效!如果我想遍历20个单元并用ToothFairy替换BoogeyMan,我尝试了以下操作,但没有用。

    function ChangeCharacter() 
    { var ss = 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); 
    for (r=1; r<21; r++) { 
    if (ss.getRange(r,1) === "BoogeyMan") { 
    ss.getRange(r,1).setValue("ToothFairy"); 
    } 
    } 
    } – ronald 1 min ago    edit   

如果要遍历一列,请执行以下操作:

 function ChangeCharacter1() 
    { var ss = 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); 
    var lr=ss.getLastRow()
    var data=ss.getRange(1, 1, lr,1).getValues()
    for (r=1; r<data.length; r++) { 
       if (data[r][0] == "BoogeyMan") { 
       ss.getRange(r+1, 1).setValue("ToothFairy"); 
    }}}