0

My Google スプレッドシートに 2 つのシートがあります。

  1. マスタートラッキング
  2. 毎日の追跡

マスター トラッキングは、他のトラッキング シートから情報を取り込み、セル M7 の各ドライバーが走行したマイル数を更新します。

日付 (列 A) と移動マイル数 (列 B) で毎日の追跡を設定したいと考えています。

Master Tracking!M7 から Daily Tracking (列 B) にデータをコピーする Google Apps スクリプトを作成しますが、スクリプトが実行されるたびに新しい行にコピーします。トリガーを使用して、毎日の勤務時間の終わりに実行することを計画しています。

私は今までこれを持っていますが、うまくいきません。

function copyFunction() {

  var inputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master Tracking").getRange("M7:M7");

  var inputValues = inputRange.getValues();

  var outputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Tracking").getRange("B:B").getLastRow();

  outputRange.setValue(inputValues);
}

私はそれを理解することはできません。特定のセルに貼り付けることができますが、新しい行に貼り付ける方法がわかりません。おそらくgetLastRowが機能するでしょう。知らない。

また、Daily Tracking の列 A にタイムスタンプを入れる方法を教えてください。

助けてください!

4

1 に答える 1

1

テストしませんでしたが、動作するはずです:(コード内のコメントを参照)

function copyFunction() {
  var inputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master Tracking").getRange("M7");
  var inputValue = inputRange.getValue();// use simple getValue without S, get a simple value
  var last = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Tracking").getLastRow();// get the last row on this sheet
  var outputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Tracking").getRange(last+1,1,1,2);// getRange col A & B +1 after last row
  outputRange.setValues([[Utilities.formatDate(new Date(), Session.getTimeZone(), 'MM-dd-yyyy'),inputValue]]);// date string in col A and value in col B in a 2D array (note the S in setValues) - 
}
于 2013-04-03T00:07:05.537 に答える