1

さまざまな口座での銀行預金の合計を計算するスプレッドシートがあります。

実行時に、その日に計算された合計節約額をタイムスタンプとともに別の列にコピーするスクリプトを書きたいと思います。アイデアは、このデータをグラフにプロットして、時間の経過とともにプロットされた貯蓄の傾向を確認できるということです。

実際には、A5 の値を列 B の最初の空行にコピーし、列 C の最初の空行に日付を出力することを意味します。

これを行う方法を知っている人はいますか?

ありがとう!

4

1 に答える 1

1

これをスプレッドシート スクリプトにコピーし、毎日のトリガー関数として設定します。

function recordTodaysBalance() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var balance = sheet.getRange("A5").getValue();
  var nextRow = getFirstEmptyRow('B');
  // Record current balance and timestamp at end of columns B & C
  sheet.getRange(nextRow, 2, 1, 2).setValues([balance,new Date()]);
};

// From https://stackoverflow.com/a/9102463/1677912
function getFirstEmptyRow(columnLetter) {
  columnLetter = columnLetter || 'A';
  var rangeA1 = columnLetter + ':' + columnLetter;
  var spr = SpreadsheetApp.getActiveSpreadsheet();
  var column = spr.getRange(rangeA1);
  var values = column.getValues(); // get all data in one call
  var ct = 0;
  while ( values[ct][0] != "" ) {
    ct++;
  }
  return (ct+1); // +1 for compatibility with spreadsheet functions
}

この回答から適応。

于 2013-09-07T15:31:27.740 に答える