-
[Apps] 구글 스프레드시트에서 사용자 정의 함수 만들어 쓰기구글/구글 앱스 2022. 9. 28. 18:37반응형
엑셀에서와 마찬가지로 구글 스프레드시트에서도 자바스크립트로 자신만의 함수를 만들 수 있습니다. 복잡한 조건을 이용해 계산해야 하는 경우, 엑셀이나 스프레드시트에서 IF 문으로 처리하면 문서가 굉장히 지저분해 질 수 있습니다. 이번 포스팅에서는 구글 스프레드시트 상에 앱스 스크립트를 이용해 사용자 정의 함수를 만드는 방법에 대해 설명하겠습니다.
목차
구글 앱스에서 사용자 정의 함수 만들기
구글 앱스를 이용하면 스프레드시트에 손쉽게 사용자 정의 함수를 만들 수 있습니다.
사용자 정의함수 추가 방식
사용자 정의 함수는 다른 스크립트와 마찬가지로 "확장 프로그램>Apps Script"에 추가하면 됩니다.
위 메뉴로 들어가면 스크립트를 편집할 수 있는 화면이 나옵니다. 여기서 간단한 스크립트 함수를 작성할 수 있습니다.
예제 1 ) 스프레드시트의 두 개의 입력값을 곱하는 함수
간단한 예제로 두 개의 값을 입력받아서, 곱한 값을 출력하는 함수를 만들어 보겠습니다.
function MultiplyTwoCell(cellnum, cellnum2) { var result = cellnum * cellnum2; return result; }
위의 코드를 Apps Script 편집화면에 추가합니다.
간단하게 설명하면,
- cellnum, cellnum2 : 스프레드시트에서 참조할 값입니다.
- result : 두 인자(cellnum, cellnum2)를 곱해서 결과를 저장할 변수입니다.
- 계산된 result를 return 문으로 출력합니다.
- 참고로 코드 한줄이 끝나면 세미콜론(;)으로 문장을 끝내야 합니다.
아래는 실제 추가한 화면입니다.
저장버튼을 눌러서 저장하고 다시 스프레드시트로 돌아옵니다.
스프레드시트에서 MultiplyTwoCell 함수를 이용해 보겠습니다.
이렇게 하면 2*3 의 결과인 6이 출력됨을 확인할 수 있습니다.
예제 2) 조건절 사용해서 숫자 나누기
이번에는 나누기 함수이나 숫자가 0일때 예외처리하는 함수를 추가해보도록 하겠습니다.
function DivideZero(num01, div) { if (div == 0 ){ // 두 번째 인자가 0임을 확인한다. return 0; // 0은 나눌수 없으니 약속된값(0)을 반환한다. }else { // 그 외에는 정상적으로 나눈다. return num01/div; } }
0으로 나눌 때, 엑셀이나 구글 스프레드시트에는 에러를 반환하는데요. 이 함수는 에러 발생시 그냥 0으로 반환하는 함수입니다.
- if : 조건절을 의미합니다. 특정 조건에 맞으면 해당 블럭({} 구문)을 실행합니다. 반드시 {} 로 실행 범위를 한정해야 합니다.
- div == 0 : 나눌 숫자가 0과 같을 때 조건입니다.
- else : if 조건이 아닐 때 실행하는 블럭입니다.
if else 조건문은 다른 포스팅을 참고하시면 좋겠습니다.
https://goddaehee.tistory.com/225
아래는 Apps script에서 코드를 작성한 화면입니다.
아래는 실제 실행 결과입니다.
마무리
구글 스프레드시트에서 사용자 정의 추가하는 함수에 대한 설명이었습니다. 위 방법은 간단히 함수를 복붙해서 사용할 수 있으나, 라이브러리 등으로 배포해서 쓰면 좀 더 편리하게 쓸 수 있습니다. 다음에는 이 부분에 대해서 설명해 보겠습니다.
위 함수 예제는 아래 공유 시트에서 확인이 가능합니다.
https://docs.google.com/spreadsheets/d/1ZHqi0q8zW0bVNqzByph2hmqxfvQjwwBn_A6-a_gKeww/edit?usp=sharing
반응형'구글 > 구글 앱스' 카테고리의 다른 글
구글 스프레드시트에서 chatGPT로 재무재표 분석하기 (2) 2023.06.06 구글 스프레드시트에서 chatGPT API 사용하기 (1) 2023.06.06 구글 스프레드시트에 버튼 삽입하여 스크립트 실행 방법 (0) 2023.06.06 [Apps] 구글 앱스를 이용해 여러 사람에게 이메일 자동 발송하기 (1) 2022.09.20