더에듀 | 경상디지털교육자연합(G-DEAL)이 디지털 전환교육의 활성화를 통한 지역사회 교육경쟁력의 제고라는 공동의 목표를 가진 교육자들 간의 연합체로 지난 7월 창립했다. G-DEAL은 어떤 교육적 가치를 추구할까. 또 디지털 전환 교육 시대를 맞아 고민하는 올바른 방향성은 무엇일까. <더에듀>는 미래사회를 슬기롭고 분별력 있게 살아가는 데 디지털이 여러 도구 중 하나가 될 수 있다고 생각하는 G-DEAL 회원들의 이야기를 전한다. |
교육 현장에서 엑셀을 사용 하지 않은 사람은 없을 것이다. 학기 초 학생 정보 기록, 각종 자료집계 등 엑셀을 활용하여 처리할 업무들의 수가 무궁무진하기 때문이다. 본인이 군생활 하던 시절에는 엑셀로 만든 삼국지 게임도 공공연히 유통될 정도였다.
사실 ‘엑셀’은 마이크로소프트 사에서 만든 프로그램의 이름일 뿐이다. 다만 그 점유율로 인해 비슷한 프로그램을 모두 엑셀부르고 있다.
이러한 류의 프로그램을 스프레드 시트라 한다. 스프레드 시트는 행과 열로 된 데이터를 관리할 수 있는 툴이다. 수식과 함수, 필터링, 데이터 시각화 등의 기능으로 데이터를 분석하는 처리하는데 효과적이며, 한글의 한쇼, 애플의 넘버스, 구글의 구글 시트가 같은 종류의 프로그램이다. 이 글에서는 그 중 구글 시트의 기능에 집중해보고자 한다.
구글 시트 커스텀 함수
구글 시트는 협업 기능으로 많이 알려져있지만, 협업기능 외에도 강력한 기능을 하나 더 가지고 있다. 바로 사용자가 스스로 함수를 만들어 사용할 수 있다는 것이다. Google Apps Script(이하 GAS)가 바로 그것이다.(엑셀의 VBA에 해당한다고 생각하면 된다.)
GAS는 Javascript 문법을 기반으로 하여 학습이 용이하고, 이름에서도 알 수 있다시피 Google Apps를 상호 통합할 수 있다는 장점이 있다. 사용자는 GAS를 활용하여 자신의 목적에 맞는 커스텀 함수를 생성하여 사용할 수 있다.
함수란 무엇인가?
함수라는 이름을 듣자마자 지레 어렵다고 생각할 수도 있을 것이다. 실제로 함수가 어려워 엑셀을 사용하지 않는 분을 몇몇 본 적이 있다. 하지만 교사의 주된 업무는 데이터 분석이 아니기에 자주 사용하는 몇 개의 함수만 알고 있어도 교무 업무를 수행하기에 충분하다. 커스텀 함수를 만들기 전에 간단히 함수의 작동 원리를 알아보고 함수와 친해져 보자.
SUM() 함수는 모두가 알고 있을 것이라 생각한다. 함수를 사용하는데 몇 가지 규칙이 있다.
1) “=” 등호는 해당 셀의 값을 함수의 연산 결과로 대치한다는 의미이다. 시트의 셀에 =1+1을 입력하면 2가 기록되는 것을 확인할 수 있다. 2) SUM은 함수의 이름이다. 3) “( )” 괄호는 함수가 연산하는데 필요한 재료, 즉 인자가 들어갈 곳이다. SUM함수의 경우 합계를 내고자 하는 셀을 쉼표로 구분하여 넣거나 B1:B10과 같이 “:” 콜론을 사용하여 범위를 넣을 수 있다. |
위와 같이 함수를 작성한 후 엔터를 입력하면 해당 셀은 3의 재료를 2의 연산을 통해 1의 과정으로 값을 출력한다. 여기서 중요한 점은 우리가 SUM함수 내부에서 어떤 일이 일어나는지 모르더라도 이 함수를 유용하게 사용할 수 있다는 점이다. 마치 운전을 하기 위해 내연기관의 작동원리나 2차전지 제작 과정을 알 필요 없듯이 말이다.
간단한 커스텀 함수 만들기
하지만 함수 이면의 원리를 알게 된다면 직접 함수를 만들 수 있다. 간단한 함수를 만들어서 함수가 어떤 방식으로 작동하는지 어렴풋이 알아보도록 하자.
1) 이곳1)(구글 시트)으로 접속하여 스프레드시트를 하나 생성한다.
1)http://sheets.google.com
2) 시트의 상단 메뉴에서 Extensions - Apps Script를 클릭한다.
3) 다음과 같은 화면이 나온다면 다음 단계를 수행할 수 있다.
4) 기본으로 작성되어있는 myfunction을 모두 지우고 아래 코드를 붙여넣어보자.
function hi(name) {
return(name+"님, 안녕하세요!")
}
이제 저장을 하면 스프레드 시트에서 HI( )라는 함수를 사용할 수 있다.
빈 셀을 하나 선택하여 “=hi(이름)”을 입력하면 잠깐의 로딩 후 '@@님, 안녕하세요!'를 출력한다.
SUM함수에서 입력된 값을 합산했다면 우리가 만들어 본 HI()라는 함수에서는 입력된 값을 이름으로 여기고 해당 이름에 ~님 안녕하세요 라는 인사 메시지를 출력한다.
스스로 만든 함수가 작동하는 것을 보면 신기한 마음이 들 것이다. 하지만 동시에 참 쓸모없는 함수라는 생각도 들 것이다.
AI를 활용한 함수 작성
함수를 어떻게 만드냐에 따라 위 함수처럼 쓸모없을 수도 있지만, 우리의 불필요한 시간 낭비를 대폭 줄여줄 수 있는 고마운 함수가 될 수도 있다.
예를 들어 수백명 학생의 글쓰기 초안을 검토해야 하는 상황을 가정해 보자. 함수 속에 GPT와 같은 AI를 넣어놓는다면 단 몇 초 만에 해당 작업을 간단히 끝낼 수가 있다.
아래 그림은 필자가 만든 ASSISTANT()라는 함수의 사용 화면이다. 함수에 학생의 초안을 ‘인자’로 입력하면 그에 대한 피드백을 수 초 안에 출력한다.
물론 해당 셀을 채우기 핸들로 드래그하면 나머지 열도 자동으로 생성이 된다.
어시스턴트를 만드는 과정이 궁금하다면 구글 시트에 Assistant 함수 넣기 (notion.site)1) 속 튜토리얼을 따라해 보자. 짧은 시간 내에 본인만의 채점 조수를 만들 수 있다.
1) https://anzilab.notion.site/Assistant-34a868ab539e4e498430c039d3ec2182?pvs=97#cecb9b1a3f25480397ae59b8819b13cf
매년 동일 업무, 시간 줄이고 싶다면...
엑셀 함수도 어려워서 사용하지 않는데, 커스텀 함수를 만든다는 게 어불성설처럼 들릴 수도 있겠다. 하지만 Chat GPT와 같은 AI를 사용하면 프로그래밍에 대한 지식이 부족하더라도 간단히 자신만의 함수를 만들 수 있다. 위 기능을 구현하기 위해 많은 시간 공부할 필요가 없어진 것이다.
나는 이것이 AI의 가장 큰 효용이라고 생각한다. 예를 들어 '학생의 학번을 입력하면 바코드를 생성하는 앱스 스크립트 코드를 작성해줘'라고 AI에게 질의하면 아래와 같은 함수도 만들 수 있다.
물론 AI는 완벽하지 않기 때문에 오류가 발생할 수 있고, 사실 그 빈도도 잦은 편이다. 하지만 이 또한 AI에게 오류를 알려주면 몇 번의 대화 끝에 원하는 결과를 얻을 수 있다. 그리고 오류가 거의 없는 AI의 등장도 머지않은 것 같다.
교직 생활을 하면서 매년 동일하게 수행하는 업무 중 크게 사고력을 요하지 않는, 자동화 가능할 것 같은 업무가 있다면 직접 함수를 만들어 그 시간을 줄여보시는 걸 추천한다. 이렇게 아낀 시간을 본인의 자기계발, 학생 상담, 교과 연구 등 훨씬 더 생산적인 작업에 투자할 수 있을 것이기 때문이다.
# 코딩 알려주는 교사, '코알교'는 교육 현장의 디지털 전환을 선도하는, 미래 교육을 준비하는 교사들을 위한 커뮤니티이다. 교육의 디지털 전환이 더 이상 선택이 아닌 필수인 시대를 맞아 교사들이 그 중심에 서서 변화와 혁신을 이끌 수 있도록 함께 나아가고 있으며, 누구나 접근할 수 있는 업무혁신용 디지털 도구를 보급하고 능동적으로 활용할 수 있도록 돕는 것을 목표로 삼고 있다.
주로 파이썬, 구글 앱스 스크립트, 구글 앱시트와 같은 도구들을 활용하는 방법을 익히고, 주체적인 입장에서 자신만의 교육 철학과 방법론을 바탕으로 교육에 혁신을 더할 수 있도록 노력한다. 서로의 경험을 공유하고, 도전을 격려하며, 함께 성장하는 것을 중요하게 생각한다. 교사들이 디지털 기술을 자신의 교육 방식에 맞게 응용하고, 학생들에게 더 나은 교육 경험을 제공할 수 있도록 실질적인 도움을 주는 것을 핵심 목표로 삼고 있다.