이 답변에 제공된 스크립트를 수정하여 내 Google 스프레드 시트에서 작업하기 위해 30 일보다 오래된 타임 스탬프가있는 행을 삭제 하려고합니다 . 4 열 ( "D")에 "Books"라는 단어 만 포함 된 행만 추가로 삭제하는 기능을 원합니다. 다른 행, 이상적으로는 열 4에 다른 단어 ( "Books, Shirts"등)가있는 "Books"가 포함 된 행은 날짜에 관계없이 유지되어야합니다.
해당 열을 포함하는 추가 변수를 추가하려고 시도했지만 여전히 삭제 중입니다. 배열이 텍스트를 처리하는 방법에 익숙하지 않기 때문일 수 있습니다.
지금까지 내 코드 :
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Active Requests");//applies to active requests sheet only
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array
var currentDate = new Date();//today
var monthOld = Date.now() + -30*24*3600*1000;
for (i=lastrow;i>=1;i--) {
var tempDate = values[i-1][0];// arrays are 0 indexed so row1 = values[0] and col1 = [0]
if ((tempDate!="") && (tempDate <= (monthOld)))
{
sheet.deleteRow(i);
}
}
}
그렇게하는 것은 매우 간단합니다.
D 열의 값을 가져오고 if 문에 추가 조건을 추가하면됩니다.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Active Requests");//applies to active requests sheet only
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array
var currentDate = new Date();//today
var monthOld = Date.now() + -30*24*3600*1000;
for (i=lastrow;i>=1;i--) {
var tempDate = values[i-1][0];// arrays are 0 indexed so row1 = values[0] and col1 = [0]
var bookCheck = values[i-1][3];// values in column D
if ( (tempDate!="") && (tempDate <= (monthOld)) && bookCheck=="Books")
{
sheet.deleteRow(i);
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다