2016-08-15 4 views
0

私はスクリプトでいくつかのことをしようとしていますが、それをすべて取り除くことはできません。 私のシートの2行目には、毎月1日(英国表記)の01/08/2016、01/09/2016、01/10/2016などの一連の連続した日付があります。今日の日付が2Googleスプレッドシートのスクリプト - 時刻を基準にした値を貼り付けます

行で私はいくつかのことを実行する必要があると感じていることと一致したとき、私はその後、私が固定されたい行14と15で式(コピー/貼り付け値)を持っている -

  1. 1日に1回実行するスクリプトをスケジュールし、2行目の値が今日の日付と等しいかどうかを確認します。 trueの場合...
  2. 行14と15の数値と日付が一致する列の値をコピー/ペーストします。

パート1を確認するのにインデックス/マッチが必要かもしれませんが、私は実際にそれを行う方法については暗いです。

ありがとうございます。

+0

こんにちは。これまでに何を試しましたか? [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を見てください。 – Brady

答えて

0

私は今それを分解することができたと思います。行1では、行2の日付を今日の日付と照合し、一致する場合はセルに「TRUEMONTH」を入れるヘルパー式を入れました。私の不器用なコードは、次のようになります(それでも、シートの参照などにはまだ整理が必要です)。 -

function ColCheck() { 
    var name = "TRUEMONTH"; 
    var name1 = "PASTE_ME_AS_VALUE"; 

    var range = SpreadsheetApp.getActiveSheet().getDataRange() 
    var values = range.getValues(); 
    var range1 = SpreadsheetApp.getActiveSheet().getDataRange() 
    var values1 = range1.getValues(); 

    for (var row in values) { 
    for (var col in values[row]) { 
     if (values[row][col] == name) { 

    for (var row1 in values1) { 
    for (var col1 in values1[row1]) { 
     if (values1[row1][col1] == name1) { 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
     var row = parseInt(row1) + 1; 
     var col = parseInt(col) + 1; 
    var source = ss.getActiveSheet().getRange([row],[col]); 

    source.copyTo(ss.getActiveSheet().getRange([row],[col]), {contentsOnly: true}); 
     } 
    } 
    }  
    } 
    } 
} 
} 
関連する問題