2015-01-20 2 views
-1

양식의 정보를 가져 오는 Google 시트가 있습니다. 양식은 타임 스탬프와 ID 번호를 스프레드 시트에 입력합니다. 오늘, 이번 주 및 이번 달에이 항목들 중 어느 항목이 만들어 졌는지 보여주는 다른 시트를 만들어야합니다.오늘, 이번 주 및 이번 달에 작성한 항목에 대한 Google 시트 만들기

Timestamp  ID 

12/1/2012  12345 
12/1/2012  55555 
12/4/2012  98765 
12/15/2012  74823 
나는 "WEEKLY"시트로 한 "매일"시트, ID가 12345, 55555 및 98765에 ID 12345 및 55555을두고 시트를 만들 필요가

, 모두가 하나 이 중 "월간"시트.

+0

이유 [엑셀] 및 [화학식 엑셀] 태그? – pnuts

+0

정직하게 말하면 코드에 충분한 유사성이 있기를 바랄 때 대규모의 탁월한 커뮤니티가 상황에 대해 밝힐 수있을 것입니다. –

+0

'logic'[sql]이 더 이해할 수 있습니다. – pnuts

답변

0

여기에 내가 할 일이 있습니다 ... D2에 = Today()를 입력하여 시트의 어딘가에 오늘의 날짜를 추가하십시오 (셀 D2라고 가정 해 봅시다).

C 열의 첫 번째 두 열 옆에있는 수식을 추가하여 A 열의 날짜와 오늘 날짜 사이의 일 수를 계산하십시오. 2 행에서 수식은 다음과 같습니다. = DATEDIF (A2, D2, "D")

그런 다음 스프레드 시트의 스크립트 편집기를 사용하여 C 열을 그 값에 따라 열 A와 B의 값을 씁니다. 아래 스크립트는 테스트하지 않았지만 필요한 스크립트라고 생각합니다. 기본적으로 결과 시트의 C 열을 반복합니다. 값 (오늘부터의 날짜)에 따라 해당 행은 각 범위의 배열로 푸시됩니다. 그런 다음 배열의 값을 설정하기 전에 해당 범위의 시트를 지 웠습니다. 이게 도움이 되길 바란다!

function daysBetween(){ 
 
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(), 
 
    formResultsSheet = spreadsheet.getSheetByName("Form Results"), 
 
    daySheet = spreadsheet.getSheetByName("Today"), 
 
    weekSheet = spreadsheet.getSheetByName("This Week"), 
 
    monthSheet = spreadsheet.getSheetByName("This Month"), 
 
    allData = formResultsSheet.getDataRange().getValues(), 
 
    dayResults = [], 
 
    weekResults = [], 
 
    monthResults = []; 
 
    
 
    for (var i = 0; i < formResultsSheet.getLastRow(); i++) { 
 
     if (allData[i][2] === 0){ 
 
     dayResults.push(allData[i]) 
 
     } else if (allData[i][2] > 0 && allData[i][2] <= 7) { 
 
     weekResults.push(allData[i]) 
 
     } else if (allData[i][2] > 7 && allData[i][2] <= 30) { 
 
     monthResults.push(allData[i]) 
 
     } 
 
    } 
 
    daySheet.getDataRange().clear() 
 
    daySheet.getRange(1,1,dayResults.length,dayResults[0].length).setValues(dayResults) 
 
    weekSheet.getDataRange().clear() 
 
    weekSheet.getRange(1,1,weekResults.length,weekResults[0].length).setValues(weekResults) 
 
    monthSheet.getDataRange().clear() 
 
    monthSheet.getRange(1,1,monthResults.length,monthResults[0].length).setValues(monthResults) 
 
}

관련 문제