我正在研究Google Sheets腳本的函數,該函數將檢查單元格中的某個值是否等於「選項立方體「,然後覆蓋該單元格,如果它返回true。目前的功能如下:僅在滿足條件時才更改範圍中的單元格值(Google表格應用程序腳本)
function removeCubeRewards(){
var ss2=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Rewards")
var range = ss2.getRange("F2:F20")
var data = range.getValues()
var conditional = 0
for(var i=0;i<data.length; i++){
if(data[i][0] == "Choice Cube"){
data[i][0] = "Reward Claimed"
conditional++
}
if(conditional == 6){
break;
}
}
range.setValues(data)
}
它目前建立的方式是,範圍將覆蓋在指定範圍內的所有單元格,在數據中的值。我的問題是,我在我的谷歌電子表格建立的範圍內某些細胞使用if條件,像這樣:
=IF(E11="X","Choice Cube", "LOCKED")
當我執行range.setValues(數據),這將意味着這些如果條件被當前顯示的任何值覆蓋。
我想知道什麼我可以這樣做,只有在
if(data[i][0] == "Choice Cube")
匹配的細胞覆蓋。
也許你應該使用'ss2.getRange(1 + 1,1) .setValue('Reward Claimed');'然後根本不使用setValues()。 – Cooper