구글 스프레드시트를 쓰다 보면
“이거 자동으로 되면 얼마나 좋을까?” 싶은 순간, 한두 번쯤 있으셨죠?
그럴 땐 직접 만든 **사용자 정의 함수(Custom Function)**로
나만의 자동화를 시작해보세요!
코딩 초보도 따라 할 수 있어요.
🧠 사용자 정의 함수란?
스프레드시트에서 기본으로 제공하는 함수들 외에,
내가 원하는 기능을 직접 만들어 사용할 수 있는 방법이에요.
예를 들어, 이메일에서 아이디만 추출하고 싶을 때:
=getEmailId("honey@gmail.com")
이렇게 셀에서 쓸 수 있는 거죠!
🛠 만드는 방법 (정말 간단해요)
1단계: Apps Script 열기
- 구글 스프레드시트를 열고
- 상단 메뉴 → [확장 프로그램] → [Apps Script] 클릭
2단계: 함수 작성하기
기본 구조는 이렇게 생겼어요:
// 처리할 내용
return 결과;
}
3단계: 저장 후 사용하기
함수를 저장하면
스프레드시트 셀에서 =함수이름() 형식으로 바로 사용 가능해요!
다른 시트에서도 쓸 수 있다는 거, 아주 유용하죠. 😊
💻 실전 예제 모음 (복사해서 바로 써보세요!)
📧 1. 이메일 주소에서 아이디만 추출하기
이 함수는 이메일 주소를 @ 기준으로 나누고, 앞부분(아이디)만 반환해요.
return email.split("@")[0];
}
사용 예
=getEmailId("honey@gmail.com") → "honey"
💬 설명
- split("@"): 문자열을 @ 기준으로 나눔
- [0]: 나뉜 배열 중 첫 번째 요소(아이디) 반환
🔠 2. 이름을 대문자 이니셜로 만들기
이 함수는 이름의 각 글자의 첫 글자를 대문자로 바꿔 이니셜을 만들어줘요.
let result = "";
for (let i = 0; i < name.length; i++) {
result += name[i].charAt(0).toUpperCase();
}
return result;
}
사용 예
=getInitials("HoNEY") → "H"
💬 설명
- charAt(0).toUpperCase(): 각 글자의 첫 글자를 대문자로 변환
- 반복문으로 글자 수만큼 순회해서 result에 하나씩 더함
📆 3. 날짜가 주말인지 확인하기
이 함수는 입력한 날짜가 주말(토/일)인지 확인해 TRUE/FALSE를 반환해요.
const day = new Date(date).getDay();
return (day === 0 || day === 6);
}
사용 예
=isWeekend("2025-05-04") → TRUE
💬 설명
- new Date(date).getDay(): 요일 숫자 반환 (일: 0, 토: 6)
- 0 또는 6이면 true, 아니면 false 반환
📅 4. 두 날짜 사이의 일 수 계산하기
입력한 두 날짜 사이의 날짜 차이를 ‘며칠’ 단위로 계산해요.
const d1 = new Date(date1);
const d2 = new Date(date2);
return Math.floor(Math.abs(d2 - d1) / (1000 * 60 * 60 * 24));
}
사용 예
=daysBetween("2025-05-01", "2025-05-08") → 7
💬 설명
- new Date(): 날짜를 객체로 변환
- 두 날짜의 차이(ms)를 일(day) 단위로 환산
- Math.abs(): 날짜 순서와 무관하게 절대값으로 계산
🔢 5. 숫자에 천 단위 쉼표 넣기
금액처럼 큰 숫자를 보기 좋게 쉼표로 구분해주는 함수예요.
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
사용 예
=addCommas(1234567) → "1,234,567"
💬 설명
- toString(): 숫자를 문자열로 변환
- 정규표현식으로 천 단위마다 쉼표 삽입
❓ 6. 셀이 비었는지 확인하기
셀에 내용이 없으면 "비어 있음", 있으면 "내용 있음"을 출력해요.
return text === "" ? "비어 있음" : "내용 있음";
}
사용 예
=isEmpty(A1)
💬 설명
- 삼항 연산자(조건 ? 참 : 거짓) 사용
- "" (빈 문자열)과 비교하여 조건 처리
👋 7. 시간에 따라 인사말 출력하기
현재 시간 기준으로 아침, 오후, 저녁 인사말을 자동 출력해요.
const hour = new Date().getHours();
if (hour < 12) return "좋은 아침입니다!";
else if (hour < 18) return "좋은 오후입니다!";
else return "좋은 저녁입니다!";
}
사용 예
=getGreeting()
💬 설명
- getHours(): 현재 시간(0~23시)을 가져옴
- 시간대 조건에 따라 다른 문자열 반환
✅ 사용자 정의 함수 쓸 때 꿀팁!
- 함수 이름은 영어 소문자로 시작, 공백 없이!
- 결과를 셀에 보여주려면 return 필수!
- 한번 만든 함수는 다른 스프레드시트에서도 재사용 가능
'IT' 카테고리의 다른 글
📌 구글 스프레드시트 자동화 꿀팁! 트리거로 반복 작업 끝내기 (1) | 2025.05.14 |
---|---|
직접 만드는 나만의 함수, 스프레드시트가 더 스마트해진다! (0) | 2025.05.12 |
“무료로 충분할까? 분야별 AI 서비스 완전 비교 + 대체 툴 추천까지!” (1) | 2025.05.11 |
구글 스프레드시트 자동화: 조건문과 반복문 기초편 (0) | 2025.05.08 |
구글 스프레드시트 자동화 입문: Apps Script 처음 시작하기 (0) | 2025.05.08 |