我来自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");
}
}
答案 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");
}}}