프로그래밍/General

[AppsScript] 스프레드 시트 Row 업데이트한 날짜 자동으로 적는 법

Lou Park 2023. 1. 11. 15:42

행에 수정이있을경우, 수정한 날짜를 자동으로 기록하는 방법을 소개한다.

AppsScript는 여러 트리거들을 제공하는데, 몇몇 함수들이 예약되어있다. 그 중에서도 셀의 편집때 자동으로 트리거되는 onEdit(e) 함수를 사용해서 셀의 변화가 일어날때마다 업데이트 날짜를 찍어주는 만들어 보았다.

 

구글 스프레드시트 > 확장 프로그램 > Apps Script 메뉴에 들어가, 아래 코드를 붙여넣고 저장한다.

 

사진의 시트를 기준으로 작성된 코드이므로 하나하나 뜯어서보자면, UPDATED_COLUMN은 날짜를 적을 컬럼의 위치다. 그리고 HEADER_ROW_LENGTH는 헤더부분의 길이를 나타내는데, 헤더를 수정했다고해서 업데이트 날짜가 찍히면 안되니 그 이상의 Row에서 수정이 일어났을때 날짜를 찍어주도록 하기 위해 받는다.

 

행이 필요없어서 삭제를 했는데, 삭제역시 onEdit(e) 이벤트에 들어가기때문에 updated만 떡 하니 남는 경우가 있다. 이를 방지하기 위해서 데이터가 있는지 없는지 판단할 중요 컬럼을 DATA_COLUMN에 적어준다. 이를통해 DATA_COLUMN에 데이터가 사라져서 없는 경우에 날짜가 오생성되지 않는다.