Googleスプレッドシートのスクリプトで、セルの特定の値が「選択肢」と等しいかどうかを確認する関数を作成していますCube "を返し、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)
}
それは、現在のセットアップの道は、その範囲は、データ内の値で指定された範囲内のすべてのセルを上書きしますです。条件がある場合、私はrange.setValues(データ)を実行したときにこれが
=IF(E11="X","Choice Cube", "LOCKED")
を意味し、それらを:私の問題は、私はそうのような場合は、条件で自分のGoogleスプレッドシートセットアップの範囲内の特定の細胞を持っているということです現在表示されている値によってオーバーライドされます。
私は
if(data[i][0] == "Choice Cube")
に一致している細胞のみが上書きされるように何ができるか疑問に思って。
おそらく、あなたは 'ss2.getRangeを使用する必要があります(私は1,1 +) .setValue( 'Reward Claimed'); 'そして、setValues()を全く使わないでください。 – Cooper