이번에는 구글 앱스 스크립트를 사용하여 매일 날짜와 함께 특정 셀의 데이터를 기록하는 시트를 만들어 보겠습니다.
개요
이번 샘플 시트는 실제로 회사에서 활용하고 있는 시트입니다.
SNS의 팔로워 수를 기록하여 팔로워 추이를 확인 할 수 있는 시트입니다.
- IMPORTXML 이라는 함수를 포함하여 다양한 함수를 조합하여 SNS의 팔로워 수를 얻어온다.
- 얻어온 팔로우 수 데이터를 맨 아래 열에 기록하는 앱스 스크립트를 작성한다.
- 실행 트리거를 설정하여 매일 팔로우 수 데이터를 기록한다.
★샘플 스프레드시트
https://docs.google.com/spreadsheets/d/1Dohpb5RKPW93q9Dm5bOwfdnH-F51zXBwyeh5pppz2fA/edit?usp=sharing
- Google Apps Script 개발자 사이트에서 참고한 페이지
SNS 팔로워 얻어오기

URL 칸에 SNS의 URL을 입력합니다. 예시에서는 청와대에서 운영하는 SNS 주소를 입력했습니다.
NOW 칸에는 SNS별 팔로워 수를 얻어오는 함수를 넣습니다.


※ 안타깝게도 인스타그램은 천단위가 넘어가면 상세 숫자를 얻어오지 못하고, k단위로만 얻어올 수 있습니다.
(상세 숫자를 얻어오는 방법을 아시는 분은 답글남겨주세요ㅠ)

Youtube (채널 구독자 수)

※ 주의사항: 원인은 잘 모르겠습니다만, 가끔 오류가 발생하기도 합니다. 시간이 지나면 사라지기도 하니 입력 후 오류가 사라질때까지 조금 기다려주시기 바랍니다.
* 참고 자료
팔로워 수를 얻어오는 함수는 다른 블로그를 참고하였습니다.
소셜미디어 팔로워 숫자 구글 스프레드시트로 한번에 관리하기
스크립트 작성
메뉴에서 도구 > 스크립트 편집기 를 클릭합니다.

스크립트 편집 화면에 아래 코드를 넣고 저장합니다.
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
// Get Number of SNS follower
var follower_facebook = sheet.getRange(3, 2).getValues();
var follower_instagram = sheet.getRange(3, 3).getValues();
var follower_twitter = sheet.getRange(3, 4).getValues();
var follower_kakao = sheet.getRange(3, 5).getValues();
var datarange = sheet.getDataRange();
var startRows = datarange.getNumRows();
var numRows = startRows +1;
// Date of today
var dayToday = new Date();
// write Date
sheet.getRange(numRows, 1).setValue(formatYMD(dayToday));
// write Number of SNS
sheet.getRange(numRows, 2).setValue(follower_facebook);
sheet.getRange(numRows, 3).setValue(follower_instagram);
sheet.getRange(numRows, 4).setValue(follower_twitter);
sheet.getRange(numRows, 5).setValue(follower_kakao);
}
function formatYMD(date) {
var formattedDate = Utilities.formatDate(date, "GMT", "yyyy-MM-dd");
return formattedDate;
}
프로젝트 이름은 record_sns_follower 라고 저장합니다. 
함수가 두개가 넘어가면 ▶(실행)버튼이 비활성화 되기도 합니다.
당황하지말고, 실행 > 함수 실행 > myFunction 메뉴로 실행합니다. 
처음 실행하실 때, 권한 요청을 해옵니다. 실행을 허용해주세요. (자세한 스샷은 생략합니다.)
실행 후, 시트에 돌아가서 7번째 열에 실행한 날짜와 실행 당시의 팔로워 수가 기록된 것을 확인합니다. 
가장 마지막 열을 확인하여 기록할 열을 계산해둡니다. 예시에서는 6열 + 1 = 7열.
3열 2행(B)의 데이터를 7열, 2행(B)으로,
3열 3행(C)의 데이터를 7열, 3행(C)으로,
3열 4행(D)의 데이터를 7열, 4행(D)으로,
3열 5행(E)의 데이터를 7열, 5행(E)으로 복사하는 코드입니다.
트리거 설정
코드에 문제가 없다면, 트리거를 설정해줍니다.
시계모양 아이콘으로 된 (현재 프로젝트의 트리거) 버튼을 클릭합니다.

원하는 시간대를 설정 후 [저장]을 클릭합니다.
예시에서는 매일 자정~오전1시 사이에 실행되도록 설정했습니다.
이렇게 트리거를 설정해두면 매일 3열의 당시의 각 SNS 팔로워 수 데이터를 제일 아래 열에 복사해줍니다.
완성
완성된 시트는 잊고있어도 이렇게 매일 SNS 팔로워 수를 기록해줍니다.

매일 기록된 데이터로 SNS 팔로워 수의 추이를 확인할 수 있습니다.
※ 주의사항: 가끔 팔로워 수를 얻어오는 함수에 오류가 발생하여 데이터가 #N/A 라고 기록되기도 합니다. 기록으로 보았을 때 복불복인 것 같습니다만, 지속해서 오류가 발생하는 경우에는 함수를 고쳐야 하기도 합니다.

5/22, 5/23 에 Twitter 오류가 발생한 기록. 이때 함수를 고쳤습니다.

6/12 ~ 6/24, 6/19 에 Facebook 오류가 발생한 기록.

Yeseul님에게 덧글 달기 응답 취소