서비스
home

구글시트에 사용자 정의 함수 추가하기

목적

구글 스프레드시트의 스크립트 편집기를 사용하여 스프레드시트에서 사용하는 함수를 정의 및 추가하고, 추가한 사용자 정의 함수를 시트에 적용합니다.

포스팅에서 다루는 새로운 코드

예제 1-1) 함수 추가하기 (기본)

추가할 함수의 기능 : 사용자가 숫자값으로 입력된 셀을 지정한 경우, 5를 곱한 수를 반환하는 기능입니다.
추가할 함수의 이름 : MULTIPLYBY5
function MULTIPLYBY5(num_1) { var result = num_1 * 5; return result; }
JavaScript
복사
스크립트
위와 같은 코드를 저장하고 실행할 경우, 아래 사진과 같이 사용자 정의 함수를 사용할 수 있게 됩니다.
C2 셀에 B2 셀에 입력된 숫자값 6에서 5를 곱한 수를 반환시키기 위해 위에 추가한 스크립트 함수를 사용하여 입력해 보겠습니다.
단계 1. 스크립트 편집기에서 추가했던 실행 함수를 입력합니다.
단계 2. 첫 번째 인수를 셀을 선택하여 정의합니다.
단계 3. 소괄호를 닫아 함수 입력을 마칩니다.
B2 셀에 입력된 값 6을 지정하여 5를 곱한 수인 "30" 을 C2 셀에 반환하였습니다.

예제 1-2) 함수 추가하기 (설명문 추가)

목적 : 예제 1-1의 코드를 적용하는 것만으로 함수 사용이 가능하긴 하나, 코드를 일부 입력하지 않아, 코드의 자동 완성 기능을 지원하지 않으며, 코드 사용 시 설명 문구도 지원되지 않습니다.
이 단점을 보완하기 위해 아래와 같이 스크립트를 수정합니다.
/** * 지정한 수를 5를 곱한 값으로 반환하는 함수입니다. * * @param num_1 이 숫자는 함수가 입력된 셀에 5를 곱한 값으로 반환됩니다. * @customfunction */ function MULTIPLYBY5(num_1) { var result = num_1 * 5; return result; }
JavaScript
복사
스크립트
같은 방법으로 C4 셀에 B2 셀에 입력된 숫자값 6에서 5를 곱한 수를 반환하되, 위에 추가한 스크립트 함수를 사용하여 입력해 보겠습니다.
단계 1. 스크립트 편집기에서 추가했던 실행 함수 입력 중, 자동 완성 목록에 사용자 정의 함수가 추가되었습니다.
단계 2. 함수 입력 단계가 끝나자, 사용자 정의 함수에 대한 설명을 표시하는 옵션이 추가되었습니다.
단계 3. 첫 번째 인수를 셀을 선택하여 정의합니다.
단계 4. 소괄호를 닫아 함수 입력을 마칩니다.
결과물은 30으로 동일하지만 함수 작성 단계에서 자동 완성 기능과 함수 설명 기능이 추가되었음을 확인할 수 있습니다.

예제 2) 함수 추가하기 (둘 이상의 인수를 받는 함수)

두 개 이상의 인수를 받는 함수를 작성해 보겠습니다.
추가할 함수의 기능 : 사용자가 첫 번째 셀과 두 번째 셀을 지정하고, 지정한 두 셀의 입력값을 서로 곱한 수를 반환하는 기능입니다.
추가할 함수의 이름 : MULTIPLY2NUMBERS
/** * 지정한 2개의 수를 서로 곱하여 반환하는 함수입니다. * * @param arg1 곱 함수를 적용할 첫 번째 숫자를 선택합니다. * @param arg2 곱 함수를 적용할 두 번째 숫자를 선택합니다. * @customfunction */ function MULTIPLY2NUMBERS(arg1,arg2) { var result = arg1 * arg2; return result; }
JavaScript
복사
스크립트
이번에는 C6 셀에 B2 셀에 입력된 숫자 6과 B6 셀에 입력된 숫자 8을 인수로 받아 곱한 값을 반환하되, 위에 추가한 스크립트 함수를 사용하여 입력해 보겠습니다.
단계 1. 스크립트 편집기에서 추가했던 실행 함수를 입력합니다. 맨 하단에 사용자 정의 함수가 자동 완성 목록에 표시됩니다.
단계 2. 함수 입력 단계가 끝나자, 사용자 정의 함수에 대한 설명을 표시하는 옵션이 추가되었습니다.
단계 3. 첫 번째 인수를 받는 셀을 지정하고, 콤마 (,) 를 입력하여 두 번째 인수를 받는 단계로 넘어갑니다.
단계 4. 두 번째 인수를 받는 셀을 지정합니다.
단계 5. 소괄호를 닫아 함수 입력을 마칩니다.
엑셀 및 구글 스프레드시트에서 제공되는 함수인 Product 함수와 동일한 기능을 구사하는 사용자 정의 함수가 올바르게 적용됩니다.

관련 포스팅