구글 스프레드시트 자동 열추가 하는 방법
매주 주간보고를 하거나 업무 일지를 작성할때 구글 스프레드시트를 이용하는 경우가 많다.
정기적 주단위 혹은 일단위 주기로 시트에 기록을 하고 계신 분들은 참고해도 좋을 것 같다!
보통 작성하는 양식의 형태는 위와 같은 형태가 될 것이다.
만약에 다르다고 하더라도 커스텀 할 수 있는 수준이라고 가정하고 자동화를 시작해보자.
일단 각 열 최상단에 날짜가 있고 주간 단위의 날짜나 일단위의 날짜가 기록되고 있을 것이다.
자동화해야하는 조건은 다음과 같다.
1. 매주 일정 시간에 A열과 B열 사이에 새로운 열을 삽입한다.
2. B1에 추가된 열에 해당하는 날짜 혹은 기간 값을 삽입한다.
시트 값 저장
시트의 값과 탭의 값을 변수에 저장하는 부분이다.
mainSheet에는 시트를 가지고와서 저장, cSheet에는 '주간보고'탭을 가지고 와서 저장해준다.
필요한 변수를 선언
오늘, 요일 배열, 요일을 구해서 저장하는 변수, 시작일, 종료일을 만들어주고
10/2~10/8 같은 부분에서 각 글자를 구성하여 저장하는 변수도 만들어주었다.
예) 10/2에서 2는 startD부분이다.
최종결과물은 startM/startD~endM/endD로 구성된다고 보면 된다
우선 오늘을 가지고 와서 각각 저장을 해주면 된다.
- startDate에는 오늘 그대로를!
- endDate에는 오늘에서 6일을 더한 날짜를 저장해준다
- 그리고 startDate에서 월,일 그리고 endDate에서 월,일을 구해서 저장!
이 부분이 핵심인데 만약 오늘이 월요일이라면?
26번코드는 B열에 열을 삽입한 뒤 1,2 위치에 날짜데이터를 삽입해주는 코드이다.
.insertCells(SpreadsheetApp.Dimension.COLUMNS) 함수는 셀을 삽입해주는 함수다.
COLUMNS를 설정해주면서 열을 추가해주는 것으로 설정이 가능하고 ('B:B')로 범위를 정해줄 수 있다.
결과는 제대로 작동한다!
addColbyDays를 트리거로 지정하여 월요일마다 실행되도록 설정하면
매주 월요일마다 주간 업무 양식이 자동으로 생성되게 된다 :)