1

Googleスプレッドシートにすべての行と列の範囲があります。各行をループしています。条件文が真の場合、右の列の最も遠い行にデータを追加する必要があります。

これをどのように達成できるかについての指針はありますか?ありがとう!

4

2 に答える 2

2

重要な点は、範囲データを配列に取り込むことです。次に、配列を反復処理します。次に、配列を書き戻します。セルなどのスプレッドシートオブジェクトを操作するのは比較的非効率的です。

function writeRows() {
  // This is the named range you have.
  var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("myRange");

  // Get the data and iterate through it rather than iterate through rows.
  var dataarray = range.getValues();

  // For each row.
  for (var rowpos = 0; rowpos < dataarray.length; rowpos++) {
    // Get the row data as array.
    var rowdata = dataarray[rowpos];
    Logger.log(rowdata.length);

    // Update last column in this row.
    dataarray[rowpos][rowdata.length - 1] = "value to set";
  }
  // Now write back the array values into the range.
  range.setValues(dataarray);
};
于 2012-08-08T05:56:06.993 に答える
-1

これは、スプレッドシートに行を追加するために使用するものです。

  var ss = SpreadsheetApp.openById('spredsheetID').getSheets()[0];
  var range = ss.getRange(ss.getLastRow()+1, 1, 1, 2);
  var values = [[new Date(), mystring]]; 
  range.setValues(values); 

最初の2列を更新します...

于 2012-08-07T15:31:42.537 に答える