2012-07-13 4 views
0

몇 명의 사용자가 Google 양식을 작성했습니다. 훌륭하게 작동하지만 한계가 있습니다.Google 문서 도구의 범위를 다른 시트로 복사

활성 시트에서 입력 한 데이터를 첫 번째 행을 제외한 모든 정보 인 "work"라는 새 시트로 복사하고 싶습니다. 첫 번째 행에는 새로운 데이터가 활성 시트에 입력 될 때 일부 셀을 채우는 몇 ​​가지 배열 수식이 있습니다.

두 번째 시트 (작업)에는 모든 서식, 데이터 유효성 검사, 일부 수식 등 (1 행)의 헤더 행이 있습니다. 이 정보는 양식을 통해 새 레코드를 추가 할 때 적용 할 수 없습니다 .. 따라서 말씀 드렸습니다 ..

따라서 활성 시트 (활성이라고 함)에서 데이터를 복사 한 후에는 새 데이터를 원합니다 모든 서식, 유효성 검사, 수식 등이 새로운 데이터에 적용되는 "작업"시트의 제목 행 (1 행)에 따라 서식을 지정해야합니다.

이 것이 가능합니까? 나는 완전한 해결책이 높게 평가 될 것이기 때문에 오판하기에 올 때 멍청하다. 단지

값 - 여기

내가 하나가 바로 복사/배열 수식이 물건을 봉하므로 그래서 특별한 붙여 넣기를이어야 붙여 넣을 수 없습니다 발견하면 https://docs.google.com/spreadsheet/ccc?key=0AplugTacg-08dFNRUHROSW82bDhESkxBdjVTV0NOLUE

우선 놀 수있는 샘플 양식입니다

도움을 주시면 감사하겠습니다.

답변

0

나는 당신이하고있는 일의이면에있는 논리에 조금 어려움을 겪고 있지만, this copy of your spreadsheet의 'work2'시트에서 해결책을 찾으려고했습니다. 아마도 옳고 그른 것을 다시 연극으로보고하십시오.

function onFormSubmit(e) { 
    var sheet = SpreadsheetApp.getActive().getSheetByName('work2'); 
    var nextRow = sheet.getRange(sheet.getLastRow() + 1, 1, 1, 9); 
    sheet.getRange(2, 1, 1, 9).copyTo(nextRow); 
    var sLength = e.values[2].length; 
    var huuh = e.values[3] * sLength; 
    var pending = e.values[3] * e.values[3]/huuh; 
    var nextMonth = e.values[3] + pending; 
    nextRow.setValues([[e.values[0], e.values[1], huuh, e.values[2], sLength, e.values[3], 'Please select action', pending, nextMonth]]); 
} 

과에 첨부 된 "양식 제출"트리거가 :

스크립트는 이것이다.

+0

오 훌륭합니다. 고맙습니다. 큰 문서에 적용 해보고 모든 것이 작동하는지 확인해 보겠습니다. – Sinbad

+0

아담, 좀 더 도움을 청하고 싶다면 어떻게해야합니까? 나는 모든 변수가하는 것을 이해해야하므로 걱정하지 않는다면 몇 가지 질문을하고 싶습니다. – Sinbad

+0

스프레드 시트에서 채팅 창을 사용하겠습니까? 네가 좋아하면 몇 분 남았 어. – AdamL

관련 문제