Google 스프레드 시트에서 총 개수를 모르는 모든 사용 가능한 시트를 어떻게 반복 할 수 있습니까?


10

딸의 야구 팀에 대한 통계를 유지하고 있습니다. 나는 각 게임에 대한 시트를 가지고 있으며, 각각은 구조가 동일합니다. 다른 시트의 숫자를 합한 요약 시트를 만들고 싶습니다. N 개의 시트를 참조하기 위해 공식을 어떻게 구성해야합니까?

예:

=G1!C2+G2!C2+G3!C2

새 시트를 추가 할 때 돌아가서 각 수식을 변경하고 싶지 않습니다.

업데이트 : Google 도움말에서 더 검색하면 이것이 지원되지 않는다고 생각합니다. 내가하고있는 것은 3D 범위라고하며 Excel에서는 지원되지만 Google 스프레드 시트에서는 지원되지 않습니다.


1
내가 준이 Q & A도 역시 흥미로울
Jacob Jan Tuinstra

답변:


18

매크로 사용이 마음에 들지 않으면 다음을 수행 할 수 있습니다. 이 스크립트를 스프레드 시트에 추가하십시오 (도구-> 스크립트-> 스크립트 편집기).

function getTotalSum(cell) {
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
    var sum = 0;
    for (var i = 0; i < sheets.length ; i++ ) {
        var sheet = sheets[i];
        var val = sheet.getRange(cell).getValue();

        if (typeof(val) == 'number') {
            sum += val;   
        }       
    }

    return sum;
}

수식 = getTotalSum ( "A1")을 사용하십시오 . 여기서 "A1"은 모든 시트에서 요약하려는 셀입니다 (공식을 넣은 셀 제외).

https://spreadsheets.google.com/ccc?key=0Ao3E95ou1MgbdG45blRvWlVaYkxFY01PQUhvZkZQcEE&hl=ko&authkey=CPyZqxk 에서 확인할 수있는 테스트 스크립트를 만들었습니다.


이것은 내가 찾고있는 것과 정확히 같지만 스크립트가 실행될 때마다 현재 셀에있는 값에 추가되므로 셀이 실행될 때마다 셀의 시트 합계보다 더 많이 얻습니다. 현재 값을 삭제 / 교체하고 다른 시트의 합계를 추가하려면 어떻게해야합니까?
Keith

동일한 셀 위치를 사용하여 요약을 수행합니까? 그렇다면 아마도 총계에 추가하는 것입니다. 그런 다음 다시 실행하면 새 합계가 이전 합계 등에 추가됩니다. 다른 셀에 넣으면 작동합니다. 원하지 않는 경우 현재 시트의 ID를 가져 오도록 스크립트를 변경 한 다음 if 문에 확인 표시를 추가하여 포함하지 않도록해야합니다. 먼저 위의 for 루프를 추가하십시오. var thissheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();그런 다음 if 문을 다음과 같이 변경하십시오.if (typeof(val) == 'number') && (i != thissheet)
goodship11

죄송합니다. if 문의 구문이 잘못되었습니다. 이것을 사용하십시오 :if (typeof(val) == 'number' && i != thissheet)
goodship11

1
다른 셀의 값이 변경되면 사용자 정의 함수가 매개 변수가 변경 될 때만 실행되므로 리턴 된 값이 업데이트되지 않습니다.
Rubén

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.