0

ボタンを押したときにセルR4に値が追加されるように+ボタンにスクリプトを割り当てたい、R5からの値を持つM5など、列の最後まで続きます。 Google Appscriptの列内のすべてのセルのセルに別のセルを追加する

Screenshot

この

function add() { 
s=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet() 
var rangeVal=s.getRange("M:M") 
var rangeVal2=s.getRange("R:R") 
var Val=rangeVal.getValues() 
var Val2=rangeVal2.getValues() 
for (var i=4; i<Val.length; i++) { 
if (Val2[i][0] > 0) { 
    Val[i][0] = Val[i][0] + Val2[i][0]; } } 
rangeVal.setValues(Val); 
} 

答えて

0
function add() { 
    s=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet() 
    var rangeVal=s.getRange("M:M") 
    var rangeVal2=s.getRange("R:R") 
    var Val=rangeVal.getValue() // <= you went wrong here 
    var Val2=rangeVal2.getValue() // <= & here 
    for (var i=4; i<Val.length; i++) { 
    if (Val2[i][0] > 0) { 
     Val[i][0] = Val + Val2; // <= & here 
    } 
    } 
    rangeVal.setValue(Val); // <= & here 
} 

はわずか数タイプミスは、この作業を停止している(私は私の最初の検査で逃したいくつか!)、それ以外の論理が正しい私のスクリプトです。範囲の左上の値を文字列として返すrange.getValue()を呼び出していますが、range.getValues()(関数名の最後に 's'を付けて)を使用して範囲内のすべての値をa 2Dアレイ。最後にrange.setValues()を使用して値をスプレッドシートに書き戻す必要があります。最後に、データ配列を非常に慎重に進めましたが、ループするたびにVal & Val2を連結しています。特定の値を一緒に追加する必要があります:Val[i][0] += Val2[i][0]

+0

ありがとうございました。私は私の質問でスクリプトを更新しました。しかし、まだ空のセルを表示します。 –

+0

それは魅力のように動作します!私は今日何か新しいことを学んだ。ありがとう:)スクリプトを更新します。 –

関連する問題