3

コーディングするのは久しぶりです。これまで Google スプレッドシートのスクリプトを調べたことはありません。スプレッドシートを編集するための簡単な効果を作りたいだけです。私の理解が正しければ、手動で実行する限り、これは実行可能ですか?

構文が私をうんざりさせすぎています。私の基本的な目標は、固定された列範囲内の各セルを、それ自体に隣接する列の値を加えた値に設定し、その 2 番目の値を 0 に設定することです。

私の本能は、次のようなことをすることです

CellRange[i][j] selected = C9:D13;
for(i=0,i<selectedrange.length,i++){
SpreadsheetApp.getActiveRange().setValue(selected[i][j]+selected[i][j+1];
SpreadsheetApp.getRange(selected[i][j+1]).setValue(0);
}

それはおそらくひどく間違っていますが、助けを求める前に、少なくとも最善の推測を捨てるべきだと思います.

4

1 に答える 1

2

たとえば、目標は、D の値を C の値に加算し、D をゼロに設定することによって範囲 C9:D13 を処理することです。コードは次のようになります。

function addColumns() {
  var sheet = SpreadsheetApp.getActiveSheet(); // or getSheetByName
  var range = sheet.getRange("C9:D13");
  var values = range.getValues();
  for (var i = 0; i < values.length; i++) {
    values[i][0] = values[i][0] + values[i][1];
    values[i][1] = 0;
  }
  range.setValues(values);
}

ここで、values[i][0]は、作業中の範囲 (つまり C) の最初の列の値を意味values[i][1]し、2 番目の列を参照します。スプレッドシートの行番号とは異なり、JavaScript 配列のインデックスは 0 から始まります。

于 2016-12-19T05:33:16.557 に答える