IT

직접 만드는 나만의 함수, 스프레드시트가 더 스마트해진다!

HoNEY1106 2025. 5. 12. 20:59
반응형

구글 스프레드시트를 쓰다 보면, 기본 제공 함수로는 부족한 순간이 있어요. 예를 들어 이메일 아이디만 추출하거나, 조건에 따라 점수를 자동 계산하고 싶을 때요.

이럴 땐 **‘사용자 정의 함수’**를 활용해보세요! 내가 직접 만든 함수를 =함수이름()처럼 셀에서 사용할 수 있어요. 마치 스프레드시트에 내 도우미를 하나 더 추가하는 느낌이랄까요?


✅ 사용자 정의 함수란?

직접 만든 자바스크립트 기반 함수를 스프레드시트에서 =함수이름() 형식으로 사용할 수 있는 기능이에요.

예를 들어,

function getEmailId(email) {
  return email.split("@")[0];
}

이렇게 작성한 뒤, 셀에서 =getEmailId("honey@gmail.com")라고 입력하면 결과는 "honey"가 뜹니다!


🛠️ 사용자 정의 함수 만드는 방법

  1. 구글 스프레드시트 열기
  2. 상단 메뉴 → 확장 프로그램 → Apps Script 클릭
  3. 아래와 같은 형식으로 함수 작성:
function 함수이름(입력값) {
  // 처리 내용
  return 결과;
}
  1. 저장하고, 스프레드시트 셀에서 =함수이름() 으로 사용!

함수 이름은 영어 소문자로 시작해야 하고, 반드시 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();
}
  • 사용 예: =getSubject("수", 3) → 수요일 3교시 과목
  • 전제 조건: 시트 이름이 "시간표", B1F1에 요일, 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;
}
  • 사용 예: =calculateScore(87, "어려움") → 92

3. AI 추천 진로 함수

선호 과목을 입력하면 어울리는 진로를 추천해줘요.

function recommendCareer(subject) {
  switch(subject) {
    case "과학": return "과학자, 의사, AI 개발자";
    case "수학": return "금융 전문가, 데이터 분석가";
    case "국어": return "작가, 편집자, 교사";
    case "미술": return "디자이너, 일러스트레이터";
    default: return "아직 잘 모르겠어요!";
  }
}
  • 사용 예: =recommendCareer("과학") → "과학자, 의사, AI 개발자"

📌 마무리 팁

  • 함수 하나 만들면 모든 시트에서 재사용 가능해요!
  • 업무 자동화, 출석 체크, 시간표 생성 등 활용도 무궁무진.
  • 함수 이름은 직관적으로 지으면 나중에 더 편해요.
반응형