콘텐츠로 건너뛰기

구글스프레드시트의 체크박스 일괄 선택 / 해제


작업대상 : 구글스프레드시트 체크박스와 AppsScript

  • 작업범위 : 구글스프레드시트 → 리본 메뉴 중 “확장 프로그램” → Apps Script
  • 예제 스프레드 시트 URL : https://url.kr/khiotn

구글스프레드 시트로 업무를 다루다 보면 체크박스를 일괄 선택하거나 해제 기능이 필요한 경우가 종종 발생합니다. 체크박스가 여러개인 경우 이 체크박스 상태를 한번에 전체선택 또는 전체해제가 필요한 경우도 있을거예요.

아래는 앱스스크립트를 이용해 원클릭으로 전체선택과 전체해제를 하는 방법입니다.

아래의 그림을 먼저 볼까요. C2셀부터 C27셀까지 체크박스가 삽입되어 있습니다.

이 체크박스들이 존재하는 구글스프레드시트에서 리본 메뉴 중 “확장 프로그램”-Apps Script 클릭하세요.

구글스프레드시트에서 리본 메뉴 중 "확장 프로그램"-Apps Script

새로 뜨는 앱스스크립트 창에서 아래의 코드를 삽입합니다.

  • 아래 소스코드 박스에 있는 스크립트 내용 중 9행과 11행의 파란색 글씨 부분(‘C2:C)의 셀주소를 실제 적용하려는 셀주소로 바꿔주세요.
    • var range = SpreadsheetApp.getActive().getRange('C2:C');
      (설명 : C2셀부터 그 아래 C열의 모든 영역을 컨트롤 하기로 선언한 상태입니다.)
  • 소스코드 박스
/** 체크박스 일괄 선택 */
  function toggleAllCheckbox_check() {  
  var spreadsheet = SpreadsheetApp.getActive();  
  //선택 실행 계속 여부 확인
  var ui = SpreadsheetApp.getUi();  
  var btn = ui.alert("체크박스 전체선택을 진행 하시겠습니까?", ui.ButtonSet.YES_NO);
    if (btn == ui.Button.YES ){    
    //체크박스 선택
    var range = SpreadsheetApp.getActive().getRange('C2:C');
    range.check();
    var range = SpreadsheetApp.getActive().getRange('C2:C');
    range.check();
    ui.alert("체크박스 전체선택 완료😀\n 되돌리려면 Ctrl+Z 1회!");
   } else {
     ui.alert("체크박스 전체선택 취소😤");
   }  
};
  /** 체크박스 일괄 해제 */
  function toggleAllCheckbox_Uncheck() {  
  var spreadsheet = SpreadsheetApp.getActive();  
  //해제 실행 계속 여부 확인
  var ui = SpreadsheetApp.getUi();  
  var btn = ui.alert("체크박스 전체해제를 진행 하시겠습니까?", ui.ButtonSet.YES_NO);
    if (btn == ui.Button.YES ){    
    //체크박스 해제
    var range = SpreadsheetApp.getActive().getRange('C2:C');
    range.uncheck();
    var range = SpreadsheetApp.getActive().getRange('C2:C');
    range.uncheck();
    ui.alert("체크박스 전체해제 완료😀\n 되돌리려면 Ctrl+Z 1회!");
   } else {
     ui.alert("체크박스 전체해제 취소😤");
   }  
};

체크박스 전체 선택/해제 버튼 만들기

다시 시트로 돌아와 버튼 2개(선택 버튼/해제 버튼)를 만들고 이 버튼들에게 해당하는 액션을 취할 스크립트를 할당하겠습니다. 스크립트 할당을 하려면 만드려는 버튼 2개에 각각 명령함수를 할당해야 합니다. 위 소스코드에 명령함수가 이미 지정되어 있어요.

추천 글 🔔  구글스프레드시트 데이터 입력 시간 자동 생성

Tip. 소스코드 상에서 명령함수의 이름은 임의로 바꾸셔도 괜찮아요.
전체선택 명령함수(소스코드 박스 1행) : toggleAllCheckbox_check
전체해제 명령함수(소스코드 박스 19행) : toggleAllCheckbox_Uncheck

버튼을 만드려면 시트 리본 메뉴에서 “삽입-그림” 클릭

리본 메뉴에서 "삽입-그림" 클릭

버튼을 직접 만듭니다.

도형 메뉴를 누르고 아래와 같이 적당한 크기로 버튼을 만들고 버튼 이름까지 써 넣어주세요. 전체선택 버튼 하나, 전체해제 버튼 하나를 만들고 우측 상단의 “저장 후 닫기”를 누릅니다.

지금 만든 2개의 버튼에 각각 명령함수를 할당 할게요.

전체선택 명령함수 : toggleAllCheckbox_check
전체해제 명령함수 : toggleAllCheckbox_Uncheck

체크박스 버튼에 명령함수 할당은 이렇게 진행해주세요. 전체선택 버튼 우측의 3점 아이콘을 클릭하고 “스크립트 할당” 클릭 후

체크박스 버튼에 명령함수 할당

전체선택 명령함수를 붙여넣습니다. : toggleAllCheckbox_check

전체선택 명령함수를 붙여넣습니다. : toggleAllCheckbox_check

여기까지가 “체크박스 전체 선택 버튼”에 명령함수를 부여하는 단계예요. “전체해제 버튼”에도 동일한 방식으로 “전체해제 명령함수(toggleAllCheckbox_Uncheck)”를 할당 해주세요.

완성

체크박스 전체선택/전체해제 버튼 만들기까지 모두 완료 됐고, 이제 체크박스 전체선택/전체해제가 버튼 두개로 가능해졌습니다.

체크박스 전체선택/전체해제가 버튼 두개로 가능






이 블로그는 구글 애즈, 쿠팡 파트너스 등 광고 링크 게재를 통한 수익 활동이 포함되어 있는 블로그입니다.

이 글이 도움이 되셨나요?

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다