본문 바로가기
스마트러닝/엑셀과 구글스프레드시트

구글스프레드 시트에서 calstr 함수 사용하기(예산편성시 사용)

by 민서아빠(과학사랑) 2022. 1. 2.

구글스프레드 시트에서 산출식을 계산하는 calstr 함수 사용해서 예산편성에 사용하기

아래와 같이 예산편성 할 때 산술식을 자동으로 계산하기 위해 만듦.


학교 예산을 산출하는데, 엑셀에서는 산출식에 입력한 내용을 자동으로 계산하는 calstr 함수가 있다. 그런데 구글스프레드 시트에는 calstr 함수를 지원하지 않는다.
그래서 구글 앱스 스크립트를 사용해서 calstr을 지원하는 사용자 함수를 만들어 보았다.

calstr 함수를 사용하면 아래 그림처럼 산출식을 한글로 적으면 알아서 자동으로 계산을 해서 계산값이 나오게 할 수 있다.



학교 예산 편성 작업을 할 때 구글 스프레드시트를 공유해서 사용하면 공동작업이 가능하다.
한 사람이 각 부서별 예산을 취합해서 따로 정리 할 필요가 없다. 각 부서별로 자신이 필요한 예산을 구글스프레드 시트에 들어와서 입력하면 된다. 실시간으로 결과가 반영되기 때문에 여러모로 편리하다.

사용자 정의 함수는 2개가 만들어져 있다.
위 예시 그림을 보면 더 쉽게 이해 될 것이다.
1. calstr(A2) A2 셀에 있는 산출식을 숫자만 따로 추출해서 정확하게 계산하는 함수이다. 
2. calstrt(A2)  학교 예산에서는 1000원 미만 단위는 절상해서 1000원 단위로 만든다. 그래서 calstrt 함수를 사용하면 1100원인 경우 절상해서 2000원으로 기록된다.

<학교 예산 편성시 활용하는 방법>

우선 담당자가 할 일은 1-3번 까지다.

1. 구글 크롬에서 사용해야 한다. (크롬으로 접속해서 구글에 로그인 되어 있어야 한다.)
2. calstr 원본(아래 링크)에 접속해서 사본만들기를 눌러 사본을 복사해 가서 본인의 문서로 만든다. 
https://docs.google.com/spreadsheets/d/15gK56RofOg3J3O7AvvhvffOyWZw3QCnT7Zi3oxnKeUU/edit#gid=0

  (원본은 읽기 전용이다, 반드시 본인 문서로 복사해 가서 사용해야 입력이 가능하다.)




3. 복사된 문서의 제목을 바꾸고 쓰기가 가능하게 공유해서 사람들에게 나눠주고 각 부서별로 들어와서 산출식 까지 작성하게 하면 된다. 그럼 요구금액은 자동으로 계산된다.


<일반 사용자 할 일>
보내준 주소에 들어가서 자신의 부서예산을 입력하면 된다.

4. 새로운 사업이 생기면 중간에 행을 삽입하거나 삭제해도 상관없다. 단 행을 삽입한 경우에는 요구금액에 calstr 계산식을 수작업으로 추가해 주어야 한다.
그냥 요구금액 위에 셀을 추가된 셀에 끌어서 복사해 주면 된다. 



5. calstr 함수는 기본함수가 아니고 사용자가 Apps Script 로 직접 만든 함수이기 때문에 계산되는데 약간의 시간이 걸린다. loading 이라고 뜨면 잠시 기다리면 된다.


만약 추가로 인증이 필요하다고 나오면

사용자 함수를 사용하는 거라, 무조건 사용하지 않고, 권한을 물어올 때가 있다. 
이럴때는 

권한 검토를 누르고 본인의 계정(문서를 복사해 온 계정)을 선택한 다음, 
확인되지 않은 앱 이 나올 때 좌측아래 ‘고급’을 눌러 ‘OOO 프로젝트로 이동(안전하지 않음)’을 한번만 누른다. 그리고 ‘허용’을 눌러 주면 된다. 



학교 부서별 예산을 편성하는 걸 보고, 구글스프레드 시트로 공동작업을 하면 좋을 것 같아서 만들어 보았다.

만약 본인 작업에 calstr을 활용하고 싶으면 같은 방법으로 맨 위 링크를 사본만들기 해서 구글스프레드 시트를 복사해 가면 그 문서에서 calstr을 사용할 수 있다. 복사해간 문서에서만 사용 가능하다. 다른 문서에서는 사용할 수 없다. 

-------

능력이 되는 사람은 Apps Script 를 다룰 줄 아는 사람은 확장프로그램 Apps Script 로 이동해서 만들어 놓은 함수를 복사해서 자신이 만든 구글스프레드 시트에 같은 방법으로 넣어 사용하면 된다.  (Apps Script 사용법은 문의 받지 않음)