2016-12-13 3 views
0

に基づいて期限切れの行を削除するか、文字通り指定した日付の後に行を削除することができます何も列Cで指定された日付が渡されると、自分自身を削除するために行/エントリが必要になります。Googleシート - サイトは景品サイトで列Cに</p> <p>を私は現在、スクリプトを作成しようとしている日

例:1つの特典に20/13/2016の有効期限がある場合、その日が2016年20月13日になると、その行が削除されます。私はメモとしてdd/mm/yyのメトリックシステムに従っています。

私はGoogle Sheets - Script to delete date expired rowsでこれに似た質問を見ましたが、コードは私の必要に応じて動作しません。

これは、他の質問で使用されたコードです。

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("Foglio1"); 
var datarange = sheet.getDataRange(); 
var lastrow = datarange.getLastRow(); 
var values = datarange.getValues();// get all data in a 2D array 

var currentDate = new Date(); 
var oneweekago = new Date(); 
oneweekago.setDate(currentDate.getDate() - 7); 

for (i=lastrow;i>=2;i--) { 
var tempdate = values[i-1][2];// arrays are 0 indexed so row1 = values[0] and col3 = [2] 

if(tempdate < oneweekago) 
{ 
    sheet.deleteRow(i); 
} 
} 
} 

私の上記の必要性のために変更することができれば、それは非常に感謝します!

+0

は、oneweekago.setDate(currentDate.getDate() - 7)を削除するように見えます。 はこのトリックを行うことができます。それを試しましたか? –

+0

いいえ、私はそれはないでしょうか?私はそれが行の中の指定された日付を過ぎて削除するようにします –

+0

tempdateは行の日付を取得しています。それが今日よりも少ない場合は削除します。真実はoneweekagoという名前の変数を使って今日のために立つことです。なぜなら私たちは7日間を取っていないので、読めないほどです。 (tempdate

答えて

1

あなたの日付が上記のようにC列にあるとすると、これが有効です。調整は、私たちが比較した日付だけでなく、欠けている日付を処理するためのものです。私はまた、読みやすさのためにいくつかの名前の事例をいじっています。

function DeleteOldEntries() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("Live Events");//assumes Live Events is the name of the sheet 
var datarange = sheet.getDataRange(); 
var lastrow = datarange.getLastRow(); 
var values = datarange.getValues();// get all data in a 2D array 

var currentDate = new Date();//today 

for (i=lastrow;i>=3;i--) { 
var tempDate = values[i-1][2];// arrays are 0 indexed so row1 = values[0] and col3 = [2] 
if ((tempDate!=NaN) && (tempDate <= currentDate)) 
{ 
    sheet.deleteRow(i); 
}//closes if 
}//closes for loop 
}//closes function 
+0

ありがとう、私は今それを試してみます。それがうまくいけば、私はすぐに5ドルを寄付するでしょう。 –

+0

私はちょうど3行目まで削除するように変更しました.0,1、そして2はあなたの中のヘッダですから。 –

+0

このコードは、別の特典を掲示して情報を記入した場合など、C列に追加する日付にも適用されます。 私は複数のプレゼントを持っているので、コード間を行き来することはできません。 –

関連する問題