2016-07-29 3 views
2

여러 시트에 걸쳐있는 출석에서 직원 ID를 찾고 타임 스탬프를 단일 시트로 가져 오려고합니다.여러 시트의 값 가져 오기 Google 시트

Google 시트의 시트가 여러 개 있습니다. 매 근무일마다 개별 시트가 있습니다. Daily sheets

출석표에는 2 개의 열이 있습니다. 직원 로그인의 모든 시간을 알기 위해 모든 시트에서 직원 ID의 모든 항목을 가져 와서 타임 스탬프와 함께 연결 시트에 넣으려고합니다 : Consolidation sheet.

나는 Excel에서 비슷한 일을했으며 Google Apps 스크립트를 사용하여 Google 시트에서 추측 할 수 있습니다.

사람이 나를 Google 시트의 기본 제공 기능 또는 맞춤 기능으로 안내 할 수 있다면 도움이됩니다.

+0

사용자 지정 함수를 작성해야 할 것입니다. 총 데이터 양이 사용 가능한 램에 들어가기에 충분히 작은 경우 모든 정보를 자바 스크립트 객체/배열로 읽어 들일 수 있으며 올바른 형식으로 통합 시트에 쓸 수 있습니다. – SpiderPig

+0

@SpiderPig 맞춤 시트 기능은 'SpreadsheetApp' 서비스와 같이 익명 사용자로 실행될 때 인증이 필요한 서비스를 이용할 수 없습니다. 자세한 내용은 다음을 참조하십시오. https://developers.google.com/apps-script/guides/services/authorization –

답변

1

나는 기본 윤곽, 조언 및 도움이 될만한 자료를 제공해 드리지만 모든 것을 쓸 수는 없다고 생각합니다.


1 단계 - 사용자 지정 메뉴 옵션 스프레드 시트에서 당신에게 스크립트를 액세스 할 수 있도록 할 것입니다

을 만듭니다. 사용자 정의 메뉴 옵션을 작성하여이를 수행 할 수 있습니다. article by google on custom menus이 있습니다.

Google에서 간단한 트리거 onOpen을 사용하지만 installable triggers이 더 안정적이라는 것을 알았습니다.

2 단계 - 가져 오기 사용자 입력이

는 직원의 ID를 입력하라는 메시지가 좋을 그것은 마법의 스크립트 작업을 할 것입니다. 다음은 스크립트에 대한 사용자 입력을받는 방법을 설명하는 article by google on dialogs and sidebars입니다.

3 단계 - 읽고 당신은 SpreadsheetApp와 spreadsheeet 데이터에 액세스 할 수 있습니다

스프레드 시트에서 데이터를 작성합니다. 맞춤 메뉴에서 스크립트를 호출 할 때 SpreadsheetApp.getActiveSpreadsheet을 사용할 수 있습니다. 그러나 스크립트 편집기에서 코드를 테스트하려면 "활성 스프레드 시트"가 없으므로 대신 SpreadsheetApp.openById을 사용하십시오.

스프레드 시트에 액세스 할 수있는

, 당신은 호출 할 수 있습니다 : 2 차원 배열

경고setValues 작업

spreadsheet.getSheetByName("name").getRange(1, 1, 2, 2).getValues(); 
spreadsheet.getSheetByName("name").getRange(1, 1, 2, 2).setValues([[1, 2], [3, 4]]); 

getValues 있고 - 보통 바와 같이, I/O가 많이 걸립니다 처리 시간이 필요하므로 불필요하게 getRange().XetValues을 호출하는 것을 피하십시오.이 google article about appscript best practices이 더 자세히 설명됩니다. 또한 출석 시트가 많으면 응축 시트를 하나로 응축하는 것이 좋습니다.

4 단계 - 적절한 시트 가져

당신은 출석 시트있는 스프레드 시트의 시트 구별 할 어떻게든지해야합니다 :

function isAttendanceSheet(sheet) { 
    return /Magical regex/.test(sheet.getName); 
} 

var sheets = spreadsheet.getSheets().filter(isAttendanceSheet); 

당신을 위해 작동 마법의 정규식 짜요 , 그러면 필터가 걸립니다.


희망이 있으면 도움이되고 행운을 빕니다.

관련 문제