3

数式によって取得されたすべての行の値を、数式なしで同じ行にコピーする小さなスクリプトを作成したいと考えています。

copyValuesToRange同じ回線で使用しようとしています。(特定の行で計算された値を取得し、同じ値でそれらをオーバーラップさせます。フォーミュラはありません)。

ちょっとした文脈化... ゲームの価値観の記録/予見のようなものをやっています。同じシートに、過去の記録、今日の記録、これから起こる価値があります。

これらの値を取得するために、シートは行ごとにいくつかの計算を実行しますが、まだ発生していない値のみを計算したいのです。そのため、毎日、シートは前日の数式をクリアする操作を実行する必要があります。このために、私は次のことを試しました:

function example(oRow){

    var app = SpreadsheetApp.getActiveSpreadsheet();
    var sheetRecord = app.getSheetByName("Record");

    sheetRecord.getRange(oRow-1,1,1,18)
      .copyValuesToRange(sheetRecord,1,18,oRow-1,oRow-1);
}

oRow は、この操作を実行する行の行番号です。

これは、何もしていないか、数式を同じセルにコピーしています。

私が行方不明になっているのはばかげたものだと確信していますが、指を置くことはできません。

どうすればこれを修正できますか? または、これを行う簡単な方法はありますか?前もって感謝します。

4

1 に答える 1

2

上記の質問で示した関数 getRange() および copyValuesToRange() の引数が間違っています。

機能は次のとおりです。

getRange(row, column, optNumRows, optNumColumns)


copyValuesToRange(sheet, startColumn, endColumn, startRow, endRow)

したがって、たとえば行 9 の値を列 1 から 15 まで ("A9:P9") を同じ行にコピーする場合は、次の手順を実行する必要があります。

sheetRecord.getRange(oRow-1,1,1,18).copyValuesToRange(sheetRecord,1,18,oRow-1,oRow-1);

質問の上にあるものの代わりに。

于 2012-12-27T12:47:28.380 に答える