스프레드시트로 만드는 코딩 프로젝트 아이디어 12가지

요약

스프레드시트에서 바로 시작하는 코딩 프로젝트 아이디어 12가지입니다. 오후 하나면 되는 초보자용 작업부터 주말이 필요한 중급 작업, 엑셀 Python과 LAMBDA를 쓰는 고급 작업까지 나눴습니다. 구글 시트는 Apps Script, 엑셀 365는 Office Scripts나 Python, 예전 엑셀은 VBA처럼 파일 위치에 맞는 언어를 고르세요. 복사본에서 먼저 실행하고, AI가 쓴 코드는 한 줄씩 이해하세요.

노트북에 열린 스프레드시트와 코드 편집기, 옆에 놓인 프로젝트 스케치 노트

코딩 프로젝트 아이디어를 찾고 있다면, 매일 아침 열어 보는 스프레드시트에서 시작해 보세요. 메일을 보내 주는 추적표, 스스로 정리되는 시트, 알아서 새로 고침되는 대시보드 모두 실제 코딩 프로젝트이고, 필요한 데이터는 이미 시트 안에 있습니다. 아래에는 제가 직접 만들었거나 동료가 만드는 과정을 지켜본 열두 가지를 "오후 하나면 끝나는 것"부터 "주말이 필요한 것"까지 순서대로 정리했습니다.

할 일 목록 앱보다 내 스프레드시트가 나은 이유

대부분의 코딩 프로젝트 아이디어 목록은 같은 다섯 가지를 보여 줍니다. 할 일 앱, 계산기, 날씨 위젯 같은 것들이죠. 나쁘지는 않지만 결과물을 실제로 쓸 사람이 없어서 금방 시들해집니다.

스프레드시트 프로젝트는 실제로 불편한 점에서 시작합니다. 매주 금요일마다 같은 숫자를 같은 열에 옮겨 적고, 승인을 받으려고 사람들을 일일이 쫓아다니고, 매달 같은 보고서를 다시 만들고 있지 않나요. 불편함이 진짜라면 여러분이 첫 번째 사용자이기 때문에 끝까지 완성하게 됩니다.

두 번째 이유도 있습니다. 스프레드시트는 화면, 데이터베이스, 공유 기능을 기본으로 갖고 있습니다. 대부분의 초보 프로젝트를 무너뜨리는 초기 설정을 건너뛰고 바로 로직으로 들어갈 수 있습니다.

어떤 파일에는 어떤 언어를 써야 할까요?

도구는 유행이 아니라 파일이 어디에 있는지를 기준으로 고르세요.

버전 제약도 미리 확인하세요. 엑셀의 Python 기능과 LAMBDA는 엑셀 365가 필요합니다. Apps Script는 구글 시트 전용이고, VBA는 데스크톱 엑셀에서만 동작합니다. 회사 PC가 보안상 제한되어 있다면 아이디어에 빠지기 전에 먼저 이 부분부터 확인하세요.

코딩을 해 본 적이 없다면 Apps Script부터 시작하세요. 자바스크립트 기반이라 진입 장벽이 낮습니다. 시트 메뉴의 확장 프로그램에서 Apps Script를 열면 시트에 붙어 있는 편집기가 바로 나옵니다.

키보드를 치는 손과 모니터에 켜진 스프레드시트 및 스크립트 사이드바

초보자를 위한 코딩 프로젝트 아이디어 (오후 하나면 충분한 것)

보통 코드 20~60줄이면 충분합니다. 아래 순서대로 해 보시길 권합니다.

1. 정리 작업을 실행하는 사용자 메뉴. 공백을 지우고, 대소문자를 맞추고, 빈 행을 삭제하는 함수를 하나 만드세요. 그다음 onOpen으로 메뉴에 추가합니다. 함수, 범위, 메뉴 API를 한 번에 익히게 됩니다. 사람들이 실제로 계속 쓰게 되는 첫 스크립트이기도 합니다.

2. 월간 요약 시트. 원본 데이터 탭에서 값을 읽고, 분류별로 합계를 낸 다음, 결과를 두 번째 탭에 씁니다. SUMIF를 길게 풀어 쓰는 것과 같고, 바로 그게 포인트입니다. 수식이 대신 해 주던 일을 정확히 보게 됩니다. 피벗 테이블을 이미 쓰고 있다면 건너뛰어도 됩니다. 이 작업의 핵심은 결과가 아니라 반복문입니다.

3. 생일이나 갱신일 알림. 날짜 목록을 시트에 두고, 매일 실행되는 트리거가 일주일 전인 항목이 있으면 이메일을 보내게 합니다. 대부분의 사람이 "아, 이거구나" 하고 깨닫는 순간이 바로 트리거를 처음 쓸 때입니다. 여러분이 자는 동안에도 무언가가 돌아갑니다.

4. 데이터 검증 검사기. 열 하나를 훑으면서 규칙을 어기는 행을 모두 강조 표시합니다. 이메일 형식이 잘못됐거나, 가격이 음수이거나, ID가 빠진 행 같은 것들이죠. 처음 정규식을 쓰면 조금 미워지는데, 그건 지극히 정상입니다.

실제 스크립트는 이런 모습입니다. 가장 단순한 알림 스크립트이며, Apps Script 편집기에 그대로 붙여 넣을 수 있습니다.

function sendReminders() {
  const rows = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  rows.slice(1).forEach(([name, date]) => {
    const days = (new Date(date) - new Date()) / 86400000;
    if (days > 0 && days <= 7) {
      MailApp.sendEmail("you@example.com", "Coming up: " + name, "Due " + date);
    }
  });
}

인수를 하나씩 보면 이렇습니다. getValues()는 모든 행을 배열로 돌려주고, slice(1)은 머리글 행을 건너뛰며, MailApp.sendEmail(받는 사람, 제목, 본문)이 실제로 메일을 보냅니다. 시간 기반 트리거를 연결하면 매일 아침 자동으로 실행됩니다. 개인 구글 계정은 하루 수신자 100명까지 보낼 수 있고, 한 번 실행하면 최대 6분까지만 돌아갑니다(Apps Script 할당량 문서). 개인용 알림에는 충분하지만 뉴스레터용으로는 부족합니다.

중급자를 위한 코딩 프로젝트 아이디어 (주말 하나면 충분한 것)

이 단계부터는 스프레드시트를 바깥 세상과 연결하기 시작합니다.

5. 폼으로 입력하는 지출 추적기. 구글 폼이 시트에 응답을 쌓고, 스크립트가 각 항목을 분류하고, 요약 탭이 월별 지출을 보여 줍니다. 지저분한 입력 작업은 폼이 맡아 주니 여러분은 규칙에만 집중하면 됩니다.

6. 가격이나 주식 감시기. UrlFetchApp으로 공개 페이지나 API에서 숫자를 가져와 한 시간마다 시각과 함께 기록하고, 기록을 차트로 그립니다. 저도 여행 항공권 가격을 이렇게 추적한 적이 있는데, 얻은 교훈은 "살지 결심한 날 가격이 오른다"였습니다.

7. 승인 워크플로. 행의 상태가 "대기"가 되면 승인자에게 링크 두 개가 담긴 메일이 가고, 클릭 한 번으로 시트가 업데이트됩니다. 작은 SaaS 제품을 만드는 느낌이 들고, 직장에서 가장 많이 요청받는 프로젝트이기도 합니다.

8. 시트에서 슬랙으로 보내는 요약. 매주 월요일에 기한이 지난 항목 상위 다섯 개를 채널에 올립니다. 웹훅은 HTTP 호출 한 번이면 됩니다. 그 호출을 직접 쓰기 싫다면 노코드 연동 도구가 배관 작업을 맡고, 여러분은 로직만 쓰면 됩니다.

나무 책상 위의 메모지와 스프레드시트 프로젝트를 계획하는 태블릿 대시보드

고급 프로젝트: 시트가 좁게 느껴질 때

시트가 답답해지면 시트는 인터페이스로 남겨 두고, 무거운 작업은 밖으로 옮기세요.

9. 정리 파이프라인을 위한 엑셀 Python. 20만 행을 중복 제거하고, 회사명을 퍼지 매칭으로 맞추고, 몇 줄의 pandas로 이상치를 표시합니다. Microsoft의 엑셀 Python 시작 가이드에 설정 방법이 나와 있습니다. 엑셀 365에서만 동작하고, 격자 안의 주인은 여전히 수식입니다.

10. 대사(대조) 스크립트. 두 내보내기 파일을 비교해 한쪽에만 있는 항목을 찾아냅니다. 은행 내역과 장부, 주문과 청구서 같은 조합이죠. 회계팀과 운영팀이 매달 반복하는 작업이라 대충 만들어도 몇 시간을 아껴 줍니다. 정확히 일치하는 것부터 시작하고, 금액과 날짜에 대한 허용 오차 규칙을 나중에 추가하세요.

11. 시트 위의 개인용 API. doGet으로 시트를 작은 웹 앱처럼 공개하고 JSON을 돌려주면, 다른 도구가 읽어 갈 수 있습니다. 조금 엉성하지만 비용이 거의 들지 않고, API가 무엇인지 이해하기에 좋은 방법입니다.

12. 재사용 가능한 LAMBDA 라이브러리. 스크립트는 아니지만 포함할 가치는 있습니다. 자주 쓰는 수식 패턴 다섯 개를 이름 있는 함수로 묶어 로직을 한 곳에 모으세요. 비스킷이라면 이것을 "찾기 쉬운 곳에 뼈다귀를 묻어 두는 일"이라고 부를 겁니다.

첫 주말을 날리게 만드는 세 가지 오류

거의 모든 스프레드시트 스크립트는 같은 몇 군데에서 깨집니다. 미리 알아 두면 몇 시간을 아낄 수 있습니다.

권한 승인 창. 스크립트가 처음으로 메일을 보내거나 다른 파일을 건드리면 구글이 권한 승인을 요청합니다. 사람들은 창을 그냥 닫고, 스크립트는 조용히 실패하고, 코드가 틀렸다고 생각하게 됩니다. 편집기에서 함수를 한 번 직접 실행하고 대화상자를 수락하세요.

날짜처럼 보이지만 날짜가 아닌 값. 날짜처럼 보이는 셀이 사실은 텍스트일 수 있고, 그러면 스크립트는 문자열과 숫자를 비교하게 됩니다. typeof로 확인하거나 값을 new Date()로 감싸세요. 엑셀에서도 같은 함정이 나타나는데, 텍스트로 저장된 날짜는 정렬이 되지 않습니다.

실행 시간 초과. 셀을 하나씩 읽고 쓰는 반복문은 호출할 때마다 서버를 다녀오므로 느립니다. getValues()로 범위 전체를 한 번 읽고, 배열에서 작업한 뒤, setValues()로 한 번에 다시 쓰세요. 4분 걸리던 스크립트가 몇 초로 줄어드는 경우가 많습니다. Apps Script에서 가장 큰 속도 개선이지만 초보자 튜토리얼에서는 거의 언급되지 않습니다.

문제가 생기면 console.log()를 넣고 실행 목록 패널을 열어 실제 오류 메시지를 읽으세요. 메시지는 생각보다 훨씬 쓸모 있습니다.

AI를 쓴다면 만들어 준 코드를 꼭 읽어 보세요

AI 코딩 도구는 이런 작업에 강합니다. 스프레드시트 스크립트는 짧고 목표를 설명하기도 쉽기 때문입니다. 열 이름, 원하는 동작, 출력 모양을 말해 주면 몇 초 만에 초안이 나옵니다.

두 가지 원칙을 지키세요. 첫째, 원본이 아니라 복사본에서 실행하세요. 스크립트는 "실행 취소"를 누를 틈도 없이 열 전체를 덮어쓸 수 있습니다. 둘째, 어시스턴트에게 각 줄을 설명하게 한 다음 값 하나를 직접 바꿔 보세요. 결과를 예측할 수 없다면 아직 그 코드의 주인이 된 게 아닙니다.

두 대의 노트북 사이에 앉아 화면을 바라보는 골든 리트리버

좋은 프롬프트는 이런 모습입니다. "A열에는 이름이, B열에는 마감일이 있어. 앞으로 7일 안에 마감인 항목을 매일 한 번 이메일로 보내 줘." 입력, 출력, 타이밍이 분명합니다. "시트 자동화해 줘" 같은 모호한 요청은 모호한 코드를 낳고, 모호한 코드에는 조용한 버그가 숨어 있습니다. 첫 초안이 실패하면 프롬프트를 처음부터 다시 쓰기보다 정확한 오류 메시지를 그대로 붙여 넣고 수정을 요청하세요.

단순한 수식이라면 스크립트는 필요 없습니다. 문제를 설명하고 수식을 받은 뒤, 엑셀과 구글 시트 중 어디서 동작하는지 확인하면 됩니다.

끝까지 완성할 프로젝트를 고르는 법

가장 작은 첫 버전을 가진 프로젝트를 고르세요. "날짜가 가까워지면 메일로 알려 줘"가 "완전한 CRM"보다 낫습니다. 불완전해도 일단 내보내고 2주 동안 써 본 뒤, 가장 불편한 부분부터 고치세요. 무엇이 깨졌는지 적어 두면 그 목록이 다음 프로젝트 세 개가 됩니다. 지금도 쓰는 스크립트 대부분은 쑥스러울 만큼 짧은 임시방편에서 시작했습니다.

세 가지 기준이 도움이 됩니다.

안전하게 만들고 깨뜨려 볼 공간이 필요하다면, 시트를 벗어나는 중급 프로젝트에는 클라우드 코딩 샌드박스가 도움이 됩니다.

계획을 목록 대신 일정으로 원한다면, 제가 동료들에게 주는 계획은 이렇습니다. 1일차에는 불편함 하나를 고르고 원하는 결과를 한 문장으로 적습니다. 2일차에는 작업을 손으로 천천히 한 번 해 보며 모든 단계를 기록합니다. 3일차에는 그 단계를 데이터를 읽고 결과를 로그에 출력하는 함수로 바꿉니다. 4일차에는 결과를 시트에 다시 씁니다. 5일차에는 트리거나 메뉴 항목을 추가하고 한 명에게 보여 줍니다. 완벽한 스크립트에 상을 주는 사람은 없습니다. 매일 아침 돌아가는 거친 스크립트가, "나중에"라는 폴더 안에서 잠자는 완벽한 스크립트를 이깁니다.

제가 고른다면 3번 프로젝트, 즉 날짜 알림입니다. 짧고, 트리거를 쓰고, 결과가 받은편지함으로 도착하니 잘 돌아가는지 바로 알 수 있습니다. 그다음 정리 작업인 1번을 추가해서 메뉴에서 한 번의 클릭으로 실행되게 하세요. 한 달이 지나면 믿을 수 있는 스크립트 두 개와 다음에 무엇을 만들지에 대한 분명한 생각이 생겨 있을 겁니다.

할 일 목록 앱은 건너뛰세요. 여러분의 스프레드시트에 이미 더 좋은 아이디어가 들어 있습니다.

자주 묻는 질문

코딩을 전혀 몰라도 스프레드시트 프로젝트를 할 수 있나요?
네. 구글 시트라면 Apps Script 편집기에서 자바스크립트를 조금 익히면 충분합니다. 가장 쉬운 시작점은 정리용 메뉴 기능입니다.
구글 시트와 엑셀 중 무엇으로 시작해야 하나요?
파일이 어디에 있는지가 기준입니다. 이미 구글 드라이브에서 협업하고 있다면 구글 시트를, 회사에서 엑셀을 쓴다면 엑셀 버전에 맞는 방법을 고르세요.
Apps Script로 메일을 하루에 몇 통까지 보낼 수 있나요?
개인 구글 계정은 하루 수신자 100명까지입니다. 한 번 실행은 최대 6분입니다. 최신 값은 공식 할당량 문서에서 확인하세요.
엑셀의 Python 기능은 어떤 버전에서 쓸 수 있나요?
엑셀 365에서만 쓸 수 있습니다. 2016이나 2019 버전에서는 동작하지 않으니 VBA 같은 다른 방법을 고려하세요.
스크립트가 시트 데이터를 망가뜨리면 어떻게 하나요?
원본 대신 복사본에서 먼저 실행하세요. 대상 열을 바꾸기 전에 값을 백업해 두면 복구가 쉽습니다.
AI가 만든 코드를 믿어도 되나요?
초안으로는 좋지만 그대로 믿으면 안 됩니다. 복사본에서 실행하고, 각 줄의 설명을 듣고, 값을 바꿔 결과가 예측되는지 확인하세요.