본문 바로가기
구글 스프레드시트

앱 스크립트로 스프레드시트 다른 시트의 값, 활성화 시트 이름 가져오기 (엑셀 가계부 만들기)

by 치뤌이 2024. 11. 15.
728x90

구글 스프레드시트 확장 프로그램인 앱 스크립트(Apps Script)를 이용하여 특정 시트의 값을 가져오는 방법과, 현재 활성화된 시트 이름을 가져오는 방법을 알아보겠습니다.
 
저는 현재 구글 스프레드시트로 가계부를 만들어보고 있는데요,
1월부터 12월까지의 시트를 두고 각각의 시트 맨 위에는 년도와 월을 자동으로 입력되게 하고 싶습니다.
 

목차

     

    앱 스크립트 사용하기

    스프레드시트 구성

    현재까지의 제 스프레드시트는
    항목, 11월 시트로 구성되어 있습니다.
     

    앱 스크립트를 이용한 스프레드시트 구성 목표

    오늘의 목표는
    '항목' 시트에 있는 기준년도를 가지고

    '11월' 시트에 기준년도 + '11월' 시트이름을 자동으로 표기할 수 있는 앱 스크립트를 작성해 보는 것입니다.

     

    앱 스크립트 사용 방법

    앱 스크립트 실행

     
    구글 스프레드시트 메뉴에서 '확장 프로그램' > Apps Script 를 클릭합니다.
     

    스크립트 작성

    구글 앱 스크립트로 다른 시트의 값 가져오기

     
    이제 여기서 스크립트를 작성해주어야 합니다.
    아래 내용을 그대로 작성하시되, 목적에 맞게 수정해주세요.
    다 작성하셨으면 위쪽에 저장 버튼을 눌러줍니다.

    function SetMonth() {
      const activeSS = SpreadsheetApp.getActiveSpreadsheet(); //활성화된 스프레드시트
      const activeS = activeSS.getActiveSheet(); //활성화된 시트
    
      //년도 가져오기
      const s_year = activeSS.getSheetByName('항목'); //'항목'이라는 이름의 시트
      const v_year = s_year.getRange('C2').getValue(); //'항목' 시트의 C2 셀 값
    
      //월 가져오기
      const v_month = activeS.getName(); //현재 활성화된 시트의 이름
    
      return v_year + ' ' + v_month; //항목 시트의 C2값(2024년)과 현재 활성화시트 이름(11월)을 반환
    }

     
     
    첫줄 SetMonth는 함수명입니다.
    예를들면, 셀 S5, T5의 값을 더하는 함수로 SUM을 사용하면 각각 셀의 값을 더해주듯이 (SUM 함수에 입력된 두 값을 더한다 스크립트가 작성되어 있는 것)

    SUM 함수의 예시

     
    =SetMonth() 를 입력하면 작성한 스크립트의 내용이 실행되는 함수를 만든 것입니다.
    한번 해보겠습니다.

    =SetMonth()를 입력하면..
     

    로드 중..

    '2024년 11월' 이라고 자동으로 완성되었습니다!
     
    이제 앞으로 새로운 시트를 작성하더라도 =SetMonth()를 통해서 년도와 월을 자동으로 입력할 수 있게 되었습니다.
     
    오늘은 여기까지 입니다.
    감사합니다!
     

    728x90