본문 바로가기
엑셀(Excel)

[구글스프레드시트] 출석체크 자동으로 날짜 및 시간 삽입해보기

by Serendipity_ 2022. 11. 6.
반응형

요즘 회사에서 구글을 통해 업무를 많이 하실텐데요

오늘은 구글 스프레드 시트의 Apps script를 간단히 적용해보겠습니다.

엑셀 VBA와 유사한 기능이지만 언어가 JavaScript를 기반으로 한다고 하네요(엑셀 VBA의 경우, Visual Basic)

 

우선 간단한 내용으로 학습하기 위해 출석체크를 위한 스크립트를 만들어보겠습니다.

 

출석현황_날짜시간_자동등록
출석현황 날짜시간 자동등록

 

 ✸ 앱스 스크립트 실행방법 

- 확장 프로그램 ► Apps Script 실행

Apps_Script_실행방법
Apps Script실행방법

 ✸ Code.gs 코드 붙여넣기 

날짜자동완성_코드
날짜자동완성_코드

✸ Code.gs 코드 복사가능

function onEdit(e) {
    var ss = e.source.getActiveSheet();    
    var currentCell = ss.getActiveCell();
    
    if( currentCell.getColumn() == 1 ) { 
      var nextCell = currentCell.offset(0, 1);
      var newDate = Utilities.formatDate(new Date(),"GMT+09:00", "yyyy. MM. dd HH:mm:ss");
      nextCell.setValue(newDate);
    }
  }

✸ 코드설명

- 현재 var 부분은 변수 이기 때문에 그대로 써줍니다.

- getColumns() == 1 은 A열을 받아온다는 뜻입니다. (그럼 B열은? 2, C열은 3 ... 이런 식으로 변경하시면 될 것 같습니다)

- 그래서 현재 출석현황 열(A열)에 데이터를 입력할 경우가 바로 if( currentCell.getColumn() == 1 ) 입니다.

- 우리는 이제 B열에 자동으로 입력하게 하기 위해 A열에 데이터 입력한 경우 한칸 이동한 B열의 데이터를 볼 때 offset(0, 1)을  써줬습니다. offset함수는 엑셀과 apps script가 동일하니 기존 설명으로 대체하겠습니다.

- 그럼 예를 들어 A열에 데이터를 입력했는데 C열이 자동으로 변경되게 하고 싶을 땐 offset(0, 2)를 써주면 됩니다. 

offset 함수 설명

✳︎ Offset 함수 설명 참고

2022.08.14 - [엑셀(Excel)] - [엑셀VBA] 특정 조건 만족하는 데이터 Set 불러오기(Feat. vba 맛보기)_2편

 

[엑셀VBA] 특정 조건 만족하는 데이터 Set 불러오기(Feat. vba 맛보기)_2편

엑셀 vba로 특정 데이터만 추출하기 1편에 이어 2편 시작하도록 하겠습니다. 지난 번에는 '속성'이 '풀'인 데이터만 추출하는 코드를 보여드렸고, With문 까지 설명드렸습니다. ■ 전체코드 1 2 3 4 5

serendipity77.tistory.com

 

 

 

✸ 시간설정(간혹 안될 수 있어서)

프로젝트 설정

시간설정
시간설정

✸ 완성본

완성된경우_자동날짜기입
완성된 경우 자동으로 날짜 기입

 

복붙하셔서 업무자동화에 큰 힘이 되시길 바랍니다.

 

 

반응형

댓글