반응형
구글 스프레드시트를 쓰다 보면, 기본 제공 함수로는 부족한 순간이 있어요. 예를 들어 이메일 아이디만 추출하거나, 조건에 따라 점수를 자동 계산하고 싶을 때요.
이럴 땐 **‘사용자 정의 함수’**를 활용해보세요! 내가 직접 만든 함수를 =함수이름()처럼 셀에서 사용할 수 있어요. 마치 스프레드시트에 내 도우미를 하나 더 추가하는 느낌이랄까요?
✅ 사용자 정의 함수란?
직접 만든 자바스크립트 기반 함수를 스프레드시트에서 =함수이름() 형식으로 사용할 수 있는 기능이에요.
예를 들어,
function getEmailId(email) {
return email.split("@")[0];
}
return email.split("@")[0];
}
이렇게 작성한 뒤, 셀에서 =getEmailId("honey@gmail.com")라고 입력하면 결과는 "honey"가 뜹니다!
🛠️ 사용자 정의 함수 만드는 방법
- 구글 스프레드시트 열기
- 상단 메뉴 → 확장 프로그램 → Apps Script 클릭
- 아래와 같은 형식으로 함수 작성:
function 함수이름(입력값) {
// 처리 내용
return 결과;
}
// 처리 내용
return 결과;
}
- 저장하고, 스프레드시트 셀에서 =함수이름() 으로 사용!
함수 이름은 영어 소문자로 시작해야 하고, 반드시 return으로 결과를 반환해야 해요.
🧑💻 실전 예제 3가지
1. 시간표 정리 함수
특정 요일과 교시를 입력하면 해당 과목을 보여줘요.
function getSubject(day, period) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("시간표");
const days = ["월", "화", "수", "목", "금"];
const row = period + 1;
const col = days.indexOf(day) + 2;
if (col < 2 || row < 2) return "잘못된 입력";
return sheet.getRange(row, col).getValue();
}
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("시간표");
const days = ["월", "화", "수", "목", "금"];
const row = period + 1;
const col = days.indexOf(day) + 2;
if (col < 2 || row < 2) return "잘못된 입력";
return sheet.getRange(row, col).getValue();
}
- 사용 예: =getSubject("수", 3) → 수요일 3교시 과목
- 전제 조건: 시트 이름이 "시간표", B1
F1에 요일, A2A6에 교시 번호 입력
2. 자동 점수 계산 함수
시험 난이도에 따라 자동으로 점수를 가산해줘요.
function calculateScore(rawScore, difficulty) {
let bonus = 0;
if (difficulty === "어려움") bonus = 5;
else if (difficulty === "보통") bonus = 3;
else if (difficulty === "쉬움") bonus = 1;
return rawScore + bonus;
}
let bonus = 0;
if (difficulty === "어려움") bonus = 5;
else if (difficulty === "보통") bonus = 3;
else if (difficulty === "쉬움") bonus = 1;
return rawScore + bonus;
}
- 사용 예: =calculateScore(87, "어려움") → 92
3. AI 추천 진로 함수
선호 과목을 입력하면 어울리는 진로를 추천해줘요.
function recommendCareer(subject) {
switch(subject) {
case "과학": return "과학자, 의사, AI 개발자";
case "수학": return "금융 전문가, 데이터 분석가";
case "국어": return "작가, 편집자, 교사";
case "미술": return "디자이너, 일러스트레이터";
default: return "아직 잘 모르겠어요!";
}
}
switch(subject) {
case "과학": return "과학자, 의사, AI 개발자";
case "수학": return "금융 전문가, 데이터 분석가";
case "국어": return "작가, 편집자, 교사";
case "미술": return "디자이너, 일러스트레이터";
default: return "아직 잘 모르겠어요!";
}
}
- 사용 예: =recommendCareer("과학") → "과학자, 의사, AI 개발자"
📌 마무리 팁
- 함수 하나 만들면 모든 시트에서 재사용 가능해요!
- 업무 자동화, 출석 체크, 시간표 생성 등 활용도 무궁무진.
- 함수 이름은 직관적으로 지으면 나중에 더 편해요.
반응형
'IT' 카테고리의 다른 글
구글 스크립트 완전 입문: 기본 개념과 스크립트 에디터 사용법 (0) | 2025.05.24 |
---|---|
📌 구글 스프레드시트 자동화 꿀팁! 트리거로 반복 작업 끝내기 (1) | 2025.05.14 |
“무료로 충분할까? 분야별 AI 서비스 완전 비교 + 대체 툴 추천까지!” (1) | 2025.05.11 |
구글 App Script 나만의 함수로 자동화 시작하기 (0) | 2025.05.09 |
구글 스프레드시트 자동화: 조건문과 반복문 기초편 (0) | 2025.05.08 |