직접 해보면서 배우는 AI 실습 교안
아래 회의 메모를 ChatGPT에 그대로 붙여넣고, "이 메모 정리해줘"라고만 입력해 보세요.
결과가 나오면 잠시 기다려 주세요. 함께 살펴보겠습니다.
결과를 살펴봅시다
결과가 만족스러운가요? "누구한테 보낼 건지", "어떤 형식이면 좋겠는지" 같은 정보를 주지 않았는데 — AI가 알아서 잘 해냈나요?
결과의 품질을 결정하는 건 AI의 성능이 아니라 내가 어떻게 말했느냐입니다.
무엇을 해야 하는지
역할 + 할 일
누구에게, 왜, 어떤 상황
배경 정보
결과의 구조
표, 목록, 문단 등
세 가지 중 하나라도 빠지면 — AI는 알아서 추측합니다. 추측이 맞을 수도 있지만, 대부분 원하는 결과와 거리가 있습니다.
이번에는 아래 프롬프트를 복사해서 같은 회의 메모와 함께 ChatGPT에 입력해 보세요.
당신은 프로젝트 운영 담당자의 문서 보조 AI입니다. 아래 회의 메모를 바탕으로 참석자에게 공유할 후속 메일 초안을 작성하세요. [맥락] - 수신자: 회의 참석자 전원 - 톤: 공식적이되 간결하게 - 메모에 없는 정보는 추정하지 말고 '확인 필요'로 표시 [출력 형식] 1. 메일 제목 1개 2. 핵심 결정사항 (번호 목록) 3. 요청사항 (담당자 + 기한 포함) 4. 다음 일정 [회의 메모] (위의 회의 메모를 여기에 붙여넣기)
처음 결과와 비교해 보세요.
같은 메모인데 결과가 완전히 다르지 않나요? 차이를 만든 건 맥락과 출력형식입니다.
맥락(대상)과 출력형식만 바꾸면 같은 원본으로 전혀 다른 문서를 만들 수 있습니다.
당신은 팀장 보고용 문서를 정리하는 PM 보조 AI입니다. [맥락] - 보고 대상: 팀장 (짧고 판단 가능한 문장) - 메모에 없는 정보는 '확인 필요'로 표시 [출력 형식] ## 이번 주 진척 ## 리스크 ## 다음 주 계획 [회의 메모] (위의 회의 메모를 여기에 붙여넣기)
핵심 — 프롬프트를 잘 쓰는 건 어려운 기술이 아닙니다. "누구한테, 왜, 어떤 형식으로"만 알려주면 됩니다.
이번 실습에 사용할 파일을 먼저 다운로드하세요.
주간업무보고서_예시.docx 다운로드다운로드한 파일을 열어 보세요. 안에는 잘 작성된 주간업무보고서 예시 2건과, 정리되지 않은 업무 메모 1건이 들어있습니다.
ChatGPT에 이 파일을 첨부(클립 아이콘)한 뒤, 아래 프롬프트를 입력하세요.
첨부된 파일을 확인하세요. 예시 1, 2의 주간업무보고서 양식·톤·구조를 학습한 뒤, 파일 하단의 업무 메모를 동일한 양식의 주간업무보고서로 작성해주세요.
메모장에 대충 적어둔 내용이 보고서 양식으로 변환되는지 확인해 보세요.
결과를 살펴봅시다
표 형식, 진행률 표기, 이슈 구조([상황]-[원인]-[조치]), 차주 계획의 글머리 — 예시의 양식을 그대로 따르지 않았나요?
이 양식을 말로 하나하나 설명했다면 얼마나 길어졌을까요?
주간업무보고서의 양식을 말로 설명한다고 생각해 보세요.
"업무명과 진행률을 표로 만들고, 이슈는 상황-원인-조치로 구분하고, 차주 계획은 글머리로..."
하지만 기존 보고서 2개를 첨부하면? AI가 표 구조, 진행률 표기, 이슈 포맷, 톤까지 한 번에 학습합니다.
이 방법을 Few-shot이라고 합니다.
핵심 — 잘 만든 기존 문서가 곧 최고의 프롬프트입니다. 양식을 설명하지 말고, 파일로 보여주세요.
"표 헤더는 업무명·진행률·주요내용이고, 이슈는 상황-원인-조치로 나누고, 톤은 간결하게..."
설명이 길어지고, AI가 추측하는 부분 많음
기존 보고서 2개 첨부 + "같은 양식으로 써줘"
한 줄이면 양식+톤+구조 전부 전달 완료
아래 프롬프트를 ChatGPT에 그대로 입력해 보세요.
우리 부서에서 AI 도입을 검토하고 있는데 도입하면 뭐가 좋은지 정리해주고 문제점도 알려줘 그리고 어떤 부서에서 어떻게 쓸 수 있는지도 알려주고 도입하려면 어떤 순서로 진행해야 하는지도 알려줘 비용도 대략 얼마나 드는지 알려줘
결과를 잠시 살펴보세요. 원하는 구조대로 나왔나요?
이번에는 같은 내용을 아래처럼 구조를 잡아서 요청해 보세요.
우리 부서에서 AI 도입을 검토하고 있습니다. 아래 항목별로 정리해주세요. # AI 도입 검토 보고서 ## 1. 장단점 분석 ### 장점 - 3가지 (각각 구체적 업무 예시 포함) ### 단점 - 3가지 - 각 단점마다 현실적인 대응 방안을 함께 제시 ## 2. 부서별 활용 방안 - 경영기획, 홍보, 고객서비스, 인사 4개 부서 기준 - 부서마다 가장 효과 큰 업무 2개씩 선정 - 각 업무에 대해 현재 소요시간 vs AI 활용 시 예상 소요시간 비교 ## 3. 도입 일정 - 3단계로 나눠서 구성 - 각 단계: 기간, 핵심 활동, 담당부서, 완료 기준 포함 - 전체 소요기간은 6개월 이내로 설계 ## 4. 예산 - 초기 도입 비용과 월간 운영 비용을 분리 - 라이선스, 교육, 컨설팅 항목별로 구분 - 20명 기준으로 산정
A와 B의 결과를 비교해 보세요.
같은 내용을 요청했는데 결과가 확연히 다르지 않나요? B는 각 항목의 깊이, 포함할 내용, 비교 기준까지 명시했기 때문에 AI가 추측할 여지 없이 정확히 원하는 수준으로 나옵니다.
그런데 — 프롬프트에 쓴 # ## ### - 기호, 눈에 띄셨나요?
방금 프롬프트에 사용한 기호들은 마크다운이라는 표기법입니다. AI는 이 기호를 보고 문서의 위계(구조)를 파악합니다.
| 기호 | 의미 | 위계 |
|---|---|---|
| # | 대제목 | 문서 전체 제목 |
| ## | 중제목 | 섹션 구분 |
| ### | 소제목 | 섹션 안의 세부 항목 |
| - | 목록 항목 | 조건, 규칙, 세부 요청 |
외울 필요 없습니다. #이 많을수록 작은 제목, -는 항목 나열. 이 두 가지만 알면 AI에게 문서 구조를 정확히 전달할 수 있습니다.
"좋은점 알려주고 문제점도 알려주고 어떻게 쓸 수 있는지도..."
요청이 뒤섞임 → 몇 개를, 어떤 깊이로, 뭘 포함해서? AI가 전부 추측
[장단점] 3가지씩, 대응방안 포함 → [활용방안] 4개 부서, 업무 2개씩 → [일정] 3단계, 6개월 이내 → [예산] 항목별, 20명 기준
개수·깊이·범위·조건이 구체적 → 한 번에 원하는 결과
특별한 기술이 아닙니다. 프롬프트를 쓸 때 이 세 가지만 신경 쓰면 됩니다.
핵심 — 구조화 = 어려운 기술이 아닙니다. "내가 원하는 걸 AI가 추측하지 않게 구체적으로 쪼개서 쓰는 것"입니다.
ChatGPT, Gemini, Claude, Copilot — 모든 AI가 이 구조를 이해합니다. 한 번 익혀두면 도구가 바뀌어도 그대로 씁니다.
한 번 만든 구조화된 프롬프트를 저장해두면, 데이터만 바꿔서 매주 같은 품질의 결과를 뽑을 수 있습니다.
예시 — 주간업무보고서 프롬프트를 구조화해서 저장 → 매주 금요일에 업무 메모만 붙여넣기 → 같은 양식의 보고서 자동 생성
구조화된 프롬프트를 팀원에게 공유하면, 누가 써도 같은 기준, 같은 품질의 결과가 나옵니다. 개인 역량 차이가 줄어듭니다.
위 PDF를 ChatGPT에 첨부하고 아래 질문을 해보세요.
첨부한 '공무원 인사실무' 문서를 기반으로 답변해주세요. 공무원 연가일수는 재직기간별로 어떻게 되나요? 군복무기간은 재직기간에 포함되나요? 근거 조항도 함께 알려주세요.
결과를 확인하세요. 아래 항목을 체크해 봅시다.
결과가 정확했나요?
612페이지 문서를 통째로 올리면, AI가 전체를 읽지 못하거나 앞부분에 편향된 답을 주는 경우가 많습니다. 왜 이런 일이 생길까요?
인사 업무 담당자가 이 문서를 기반으로 FAQ 챗봇을 만들려고 합니다. 하지만 이 파일을 그대로 AI에게 주면 아래와 같은 문제가 발생합니다.
핵심 — 대용량 PDF를 그대로 AI에게 주면, AI는 문서 전체를 읽지 못하거나 내용을 섞어서 답합니다. 이것이 할루시네이션의 주요 원인입니다.
해결책 — 문서를 # ## ### - 기호로 구조화(마크다운)하면, AI가 위계를 명확히 인식하고 정확한 조항, 정확한 근거로 답합니다. 마크다운 구조화는 할루시네이션을 줄이는 가장 실용적인 방법입니다.
612페이지를 한 번에 넣으면 안 됩니다. 장(챕터) 단위로 나눠서 AI에게 변환을 요청합니다.
같은 PDF 파일을 ChatGPT에 첨부하되, 아래 프롬프트로 특정 장만 변환을 요청하세요.
첨부한 PDF에서 '제5장 휴가' 부분만 찾아서 아래 규칙에 따라 마크다운 형식으로 변환해주세요. # 변환 규칙 - 장 제목은 # (예: # 제5장 휴가) - 절 제목은 ## (예: ## 제1절 연가) - 세부 항목은 ### (예: ### 연가일수) - 구체적 내용은 - 로 나열 - 숫자/기준이 있으면 정확히 표기 - 원문에 없는 내용은 절대 추가하지 마세요
변환된 결과를 확인하세요. 구조가 명확하게 잡혔나요?
결과를 복사해서 메모장에 붙여넣기 → .md 확장자로 저장하면 마크다운 파일이 됩니다.
실무 팁 — 이 작업을 장별로 반복하면, 612페이지 PDF가 체계적으로 구조화된 마크다운 파일들로 분할됩니다. 이 파일들을 GPTs의 Knowledge에 업로드하면 정확도 높은 챗봇이 완성됩니다.
이 과정은 다음 섹션(리버스 프롬프팅 → GPTs)에서 실제로 이어서 진행합니다.
지금까지 ChatGPT와 대화하면서 가장 마음에 드는 결과가 하나쯤 있을 겁니다.
그 대화 안에서, 아래 프롬프트를 입력해 보세요.
방금 만든 결과가 매우 만족스럽습니다. 이 결과물과 동일한 품질의 문서를 다른 상황에서도 반복 생성할 수 있도록, 재사용 가능한 프롬프트 템플릿을 만들어주세요. [조건] 1. 역할 지정 포함 2. 맥락 설명 포함 3. 출력 형식 포함 4. 사용자가 채울 부분은 [여기에 ○○ 입력]으로 표시 5. 마크다운 형식으로 작성
AI가 만들어준 프롬프트 템플릿을 확인해 보세요.
놀랍지 않나요?
프롬프트를 직접 쓸 필요가 없습니다. 좋은 결과가 나오면, AI가 "그걸 다시 만들 수 있는 레시피"를 써줍니다.
내가 프롬프트 작성 → AI가 결과 생성
좋은 결과 → AI에게 "이걸 반복할 프롬프트 만들어줘"
프롬프트 작성이 어렵다고요? 그럴 필요 없습니다. 일단 결과를 만들어보고, 마음에 들면 AI가 프롬프트를 써줍니다. 이걸 저장하면 나만의 업무 자산이 됩니다.
이렇게 추출한 프롬프트를 GPTs에 넣으면? 매번 프롬프트를 쓸 필요 없이, 나만의 AI 챗봇이 됩니다.
매번 프롬프트를 새로 쓰는 건 비효율적입니다. 자주 하는 업무를 위한 전용 AI를 만들어두면?
업무 영역별로 전용 AI를 만들어두면, 팀 전체가 같은 기준, 같은 품질로 일할 수 있습니다.
FAQ 학습 → 일관된 톤으로 자동 응대 초안
양식+톤 사전 설정 → 데이터만 넣으면 보고서
사내 매뉴얼 학습 → 직원 질문에 즉시 답변
분석 규칙 설정 → 파일 업로드만으로 인사이트
리버스 프롬프팅으로 추출한 구조화된 프롬프트를 GPTs의 Instructions에 넣으면, 결과의 품질이 훨씬 안정됩니다.
"민원 응대 잘 해줘"
결과 편차 큼, 톤 불일치
역할 + 답변 규칙 + 톤 가이드 + 제한사항
일관된 톤, 안정적 품질
비유 — 매번 신입에게 입으로 설명하는 것 vs 업무 매뉴얼을 만들어두는 것. GPTs는 AI를 위한 업무 매뉴얼입니다.
앞서 실습에서 '공무원 인사실무' PDF를 마크다운으로 변환해봤습니다.
아직 못 하신 분은 아래 미리 구조화된 파일을 다운로드하세요.
612페이지 PDF에서 핵심 2개 장을 # ## ### - 구조로 정리한 마크다운 파일입니다.
앞서 구조화한 마크다운 파일로, 직원들이 인사·복무 관련 질문에 정확하게 답변하는 GPT를 만들어 봅니다.
ChatGPT에 마크다운 파일 2개를 모두 첨부하고 아래 프롬프트를 입력하세요.
첨부된 2개의 마크다운 파일은 '공무원 인사실무' 문서에서 복무·휴가(제10장)와 신분보장(제9장)을 구조화한 자료입니다. 이 자료를 기반으로 공무원 인사·복무 관련 질문에 답변하는 GPT를 설계해주세요. [요청] 1. GPT 이름 1개 2. 설명 1문장 3. Instructions 초안 - 역할: 공무원 인사·복무 전문 상담 AI - 답변 규칙: 반드시 첨부 문서에 근거하여 답변 - 톤: 정확하고 친절한 공무원 상담 톤 - 제한사항: 문서에 없는 내용은 "해당 내용은 확인이 필요합니다"로 안내 4. 대화 시작 문구 3개
테스트 질문 예시 — "재직 3년차 공무원의 연가일수는?", "병가는 최대 며칠까지 쓸 수 있나요?", "육아휴직 기간은 재직기간에 포함되나요?"
핵심 포인트 — 612페이지 PDF를 통째로 올렸을 때와, 구조화된 마크다운 파일을 올렸을 때의 답변 정확도를 비교해 보세요. 마크다운 구조화가 할루시네이션을 줄이는 핵심 장치임을 직접 체감할 수 있습니다.
지금까지 텍스트 기반 업무(메일, 보고서, 문서, GPTs)에 AI를 활용해봤습니다.
이번 섹션에서는 매일 다루는 엑셀 데이터에 AI를 적용합니다. 파일 분석부터 수식 생성, 그리고 VBA 자동화까지 — 3단계로 점점 강력해지는 활용법을 직접 체험합니다.
파일을 ChatGPT에 올려 인사이트를 뽑는다
데이터 구조를 설명하고 엑셀 수식을 받는다
반복 작업을 매크로 코드로 자동화한다
보안 주의 — 민감 데이터가 포함된 파일은 1단계(업로드)를 피하고, 2~3단계를 활용하세요. VBA는 데이터를 AI에 보내지 않고 자동화할 수 있습니다.
| 상황 | 추천 방식 | 이유 |
|---|---|---|
| 텍스트 데이터 요약·분석 | Stage 1 (업로드) | AI가 직접 읽고 해석 |
| 수식이 필요한 계산 | Stage 2 (수식 추출) | 엑셀에서 직접 실행 가능 |
| 반복 작업 자동화 | Stage 3 (VBA) | 파일을 올리지 않고 자동화 |
| 민감 데이터 포함 | Stage 2 or 3 | 파일을 AI에 올리지 않음 |
📥 실습 파일 다운로드 — 01_프로젝트_VOC_결과.xlsx
50명의 설문 응답 데이터 (10개 부서, 5개 직급, 만족도 4항목, 서술형 응답, NPS 점수 포함)
👉 다운로드: 01_프로젝트_VOC_결과.xlsx
| 열 | 내용 | 예시 값 |
|---|---|---|
| 응답번호 / 응답일자 | 50명 응답 기본정보 | 1 / 2026-03-10 |
| 부서 / 직급 | 10개 부서, 5개 직급 | 마케팅팀 / 대리 |
| 만족도 4개 항목 (1~5) | 전반적, 실무 적용, 강사, 시간 | 5 / 4 / 5 / 4 |
| 가장 좋았던 점 (서술) | 자유 서술 긍정 피드백 | "VBA 자동화 실습이 인상적…" |
| 개선이 필요한 점 (서술) | 자유 서술 개선 피드백 | "실습 시간이 더 길었으면…" |
| NPS 추천 점수 (0~10) | Net Promoter Score | 8 |
VOC 결과 파일을 ChatGPT에 첨부하고 아래 프롬프트를 입력하세요.
첨부한 VOC 결과 파일을 분석하세요. [요청] 1. 좋았던 점: 핵심 3가지 (근거가 되는 응답 인용) 2. 개선 필요한 점: 핵심 3가지 (근거가 되는 응답 인용) 3. 부서별 만족도 평균 비교표 4. NPS 점수 분포 (추천자/중립/비추천 비율) 5. 임원 보고용 한 줄 요약: 1문장 [조건] - 각 항목에 근거가 되는 원본 응답을 인용하세요. - 데이터에 없는 내용은 추정하지 마세요.
확인 — AI의 분석 결과가 원본 데이터와 일치하는가? 근거 인용이 정확한가?
✅ Stage 1 완료 — 데이터에서 인사이트를 뽑았습니다.
이제 엑셀에서 바로 쓸 수 있는 수식을 AI에게 받아봅니다.
📥 실습 파일 다운로드 — 02_운영현황_트래커.xlsx
15개 부서의 프로그램 운영 데이터 (참여율·완료율·관리대상 열은 비어있음 → 수식 입력 실습)
👉 다운로드: 02_운영현황_트래커.xlsx
| 열 | 내용 | 상태 |
|---|---|---|
| A~D: 기본정보 | No, 부서명, 프로그램명, 담당자 | 입력 완료 |
| E~F: 일정 | 시작일, 종료 예정일 | 입력 완료 |
| G~J: 실적 데이터 | 목표참여, 실제참여, 전체건수, 완료건수 | 입력 완료 |
| K: 참여율 | 실제참여 / 목표참여 (백분율) | 수식 필요 |
| L: 완료율 | 완료건수 / 전체건수 (백분율) | 수식 필요 |
| M: 우선관리대상 | 참여율 70% 미만이면 "관리필요" | 수식 필요 |
트래커 파일을 ChatGPT에 업로드하고, 노란색으로 비어있는 열의 수식을 요청하세요.
첨부한 운영현황 트래커 파일을 확인하세요. [요청] 아래 열에 들어갈 엑셀 수식을 만들어주세요. 1. K열 (참여율) = 실제참여 / 목표참여 (백분율) 2. L열 (완료율) = 완료건수 / 전체건수 (백분율) 3. M열 (우선관리대상) = 참여율 70% 미만이면 "관리필요", 아니면 공백 [조건] - 실제 셀 주소를 사용하세요. - 수식의 참조 범위를 명시하세요. - 드래그로 복사 가능한 상대참조를 사용하세요.
K2: =H2/G2 → 셀 서식을 백분율로 변경 L2: =J2/I2 → 셀 서식을 백분율로 변경 M2: =IF(K2<0.7,"관리필요","")
AI가 만든 수식의 셀 주소가 실제 파일과 맞는지 반드시 직접 확인하세요. 수식을 엑셀에 넣어보고 결과가 올바른지 검증합니다.
✅ Stage 2 완료 — 수식으로 계산 자동화를 경험했습니다.
마지막 단계에서는 이 모든 과정을 코드 한 번으로 자동화합니다.
"VBA를 배우는 것이 아닙니다. AI에게 VBA를 시키는 것입니다."
VBA는 프로그래머의 도구였습니다. 하지만 AI가 코드를 대신 써주면서, 모든 직장인이 쓸 수 있는 자동화 도구로 바뀌었습니다.
| 항목 | 과거 (AI 이전) | 현재 (AI + VBA) |
|---|---|---|
| 진입장벽 | 프로그래밍 학습 필요 (수개월) | 자연어로 요청 → 즉시 코드 생성 |
| 코드 작성 | 문법을 외워서 직접 작성 | AI가 작성, 사람은 실행만 |
| 디버깅 | 에러 메시지를 해석해야 함 | 에러를 AI에게 붙여넣으면 수정 코드 제공 |
| 활용 범위 | IT 부서나 전문가만 사용 | 모든 부서의 모든 직원이 사용 가능 |
| 비교 대상 | 한계 | VBA의 이점 |
|---|---|---|
| 엑셀 수식 | 복잡한 반복 작업 불가 | 루프, 조건 분기, 파일 입출력 모두 가능 |
| 파이썬 스크립트 | 별도 환경 설치 필요 | 엑셀만 있으면 바로 실행 (추가 설치 없음) |
| Power Automate | 라이선스·설정 필요 | 모든 엑셀 버전에서 작동 |
| ChatGPT 업로드 분석 | 데이터 보안 우려 | 데이터가 내 PC를 떠나지 않음 |
결론 — AI와 결합하면서 VBA는 가장 접근성 높은 업무 자동화 도구로 재탄생했습니다. 코딩을 배울 필요 없이, "하고 싶은 것"을 AI에게 말하면 됩니다. 지금부터 직접 해봅니다.
🔥 이 실습이 오늘 교육의 하이라이트입니다. 코딩을 전혀 몰라도 AI가 생성한 VBA 코드로 수십 개 파일을 10초 만에 합칠 수 있습니다. 매월 반복되는 파일 취합 작업을 자동화하는 실무 스킬입니다.
📥 실습 파일 다운로드 — 3개 팀 월간 실적 파일
| 파일명 | 부서 | 인원 | 공통 컬럼 |
|---|---|---|---|
| 월간제출_A | 마케팅팀 | 7명 | No, 성명, 직급, 담당업무, 목표건수, 처리건수, 미처리건수, 처리율, 특이사항, 제출일 |
| 월간제출_B | 영업1팀 | 8명 | (동일 구조) |
| 월간제출_C | 인사총무팀 | 6명 | (동일 구조) |
파일 데이터를 AI에 올리지 않고 자동화. 데이터가 내 PC를 떠나지 않음
수작업 30분~1시간 → VBA 실행 10초. 파일 100개여도 동일
한 번 만든 코드는 매월/매주/매일 재사용. 담당자가 바뀌어도 코드만 전달
수작업 복사-붙여넣기의 실수(행 누락, 헤더 중복)를 원천 차단
| 업무 | 수작업 | VBA 자동화 | 절감 |
|---|---|---|---|
| 월별 실적 파일 20개 취합 | 45분 | 10초 | 99.6% |
| 조건별 셀 색상 변경 (1,000행) | 30분 | 3초 | 99.8% |
| 거래명세서 50건 자동 생성 | 2시간 | 30초 | 99.6% |
| 데이터 정제 (공백 제거, 형식 통일) | 1시간 | 5초 | 99.9% |
| 주간 보고서 양식 자동 채우기 | 20분 | 5초 | 99.6% |
핵심 — 코드를 직접 짤 줄 몰라도 됩니다. AI에게 "무엇을 하고 싶은지"만 자연어로 설명하면 실행 가능한 VBA 코드가 나옵니다. 여러분의 역할은 결과를 검증하는 것뿐입니다.
다운로드한 3개 파일을 하나로 합치는 VBA 매크로를 AI에게 요청합니다.
엑셀 VBA 매크로를 작성하세요. [작업] 사용자가 선택한 여러 엑셀 파일을 하나의 결과 시트로 합칩니다. [요구사항] 1. 파일 대화상자에서 여러 파일 선택 가능 2. 첫 번째 파일의 헤더만 1회 복사, 이후 파일은 데이터만 3. "통합결과" 시트를 새로 생성하여 데이터 이어 붙이기 4. 마지막 열에 원본 파일명을 자동 추가 (출처 표시) 5. 합친 파일 수와 총 행 수를 메시지 박스로 표시 6. 파일이 열리지 않으면 건너뛰고 계속 진행 [출력] VBA 코드 전체 + 실행 방법 안내
⚠️ VBA 실행이 안 될 때 — 매크로가 차단되는 경우:
파일 → 옵션 → 보안 센터 → 보안 센터 설정 → 매크로 설정 → "알림을 표시하고 사용자가 선택" 체크 → 엑셀 재시작
AI가 코드를 생성하지 못하거나 오류가 있을 때 사용하는 검증 완료 코드입니다. 아래 코드를 복사하여 VBA 편집기에 붙여넣으세요.
Sub MergeExcelFiles()
Dim fd As FileDialog
Dim fileCount As Long, totalRows As Long
Dim srcWb As Workbook, srcWs As Worksheet
Dim destWs As Worksheet
Dim destRow As Long, lastRow As Long, lastCol As Long
Dim isFirst As Boolean
Dim i As Long
Dim fileName As String
' 파일 선택 대화상자
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "취합할 엑셀 파일을 선택하세요 (Ctrl+클릭으로 여러 개 선택)"
fd.Filters.Clear
fd.Filters.Add "Excel Files", "*.xlsx; *.xls; *.xlsm"
fd.AllowMultiSelect = True
If fd.Show <> -1 Then
MsgBox "파일을 선택하지 않았습니다.", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' 통합결과 시트 생성
On Error Resume Next
ThisWorkbook.Sheets("통합결과").Delete
On Error GoTo 0
Set destWs = ThisWorkbook.Sheets.Add
destWs.Name = "통합결과"
isFirst = True
destRow = 1
fileCount = 0
totalRows = 0
For i = 1 To fd.SelectedItems.Count
On Error Resume Next
Set srcWb = Workbooks.Open(fd.SelectedItems(i), ReadOnly:=True)
If Err.Number <> 0 Then
Err.Clear
On Error GoTo 0
GoTo NextFile
End If
On Error GoTo 0
Set srcWs = srcWb.Sheets(1)
lastRow = srcWs.Cells(srcWs.Rows.Count, 1).End(xlUp).Row
lastCol = srcWs.Cells(1, srcWs.Columns.Count).End(xlToLeft).Column
fileName = Dir(fd.SelectedItems(i))
If isFirst Then
' 첫 번째 파일: 헤더 + 데이터 복사
srcWs.Range(srcWs.Cells(1, 1), srcWs.Cells(1, lastCol)).Copy _
destWs.Cells(destRow, 1)
destWs.Cells(destRow, lastCol + 1).Value = "출처파일"
destRow = destRow + 1
isFirst = False
End If
' 데이터 복사 (2행부터)
If lastRow >= 2 Then
srcWs.Range(srcWs.Cells(2, 1), srcWs.Cells(lastRow, lastCol)).Copy _
destWs.Cells(destRow, 1)
' 출처 파일명 추가
Dim r As Long
For r = destRow To destRow + (lastRow - 2)
destWs.Cells(r, lastCol + 1).Value = fileName
Next r
totalRows = totalRows + (lastRow - 1)
destRow = destRow + (lastRow - 1)
End If
fileCount = fileCount + 1
srcWb.Close SaveChanges:=False
NextFile:
Next i
' 서식 정리
destWs.Columns.AutoFit
destWs.Rows(1).Font.Bold = True
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "취합 완료!" & vbCrLf & vbCrLf & _
"취합 파일 수: " & fileCount & "개" & vbCrLf & _
"총 데이터 행: " & totalRows & "행" & vbCrLf & _
"결과 시트: 통합결과", vbInformation, "파일 취합 완료"
End Sub
확인 포인트
실습 완료! 파일 취합 자동화를 직접 해봤습니다.
아래는 비슷한 반복 업무에 바로 적용할 수 있는 추가 매크로 3가지입니다. 필요할 때 복사해서 사용하세요.
취합한 통합 파일을 다시 시트별 개별 파일로 분리해야 할 때 사용합니다.
Sub ExportSheetsToFiles()
Dim ws As Worksheet
Dim savePath As String
Dim count As Long
savePath = ThisWorkbook.Path & "\분리저장_" & Format(Now, "yyyymmdd") & "\"
If Dir(savePath, vbDirectory) = "" Then MkDir savePath
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
ws.Copy
ActiveWorkbook.SaveAs savePath & ws.Name & ".xlsx", xlOpenXMLWorkbook
ActiveWorkbook.Close SaveChanges:=False
count = count + 1
Next ws
Application.ScreenUpdating = True
MsgBox count & "개 시트를 개별 파일로 저장했습니다." & vbCrLf & _
"저장 위치: " & savePath, vbInformation
End Sub
Stage 2에서 분석한 데이터에서 주의 대상을 빨간색으로 자동 강조합니다.
Sub HighlightLowPerformance()
Dim ws As Worksheet
Dim lastRow As Long, i As Long
Dim rateCol As Long
Set ws = ActiveSheet
rateCol = 8 '처리율(%) 열 번호 (H열) - 파일에 맞게 수정
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
If IsNumeric(ws.Cells(i, rateCol).Value) Then
If ws.Cells(i, rateCol).Value < 80 Then
ws.Range(ws.Cells(i, 1), ws.Cells(i, _
ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column)) _
.Interior.Color = RGB(255, 200, 200)
Else
ws.Range(ws.Cells(i, 1), ws.Cells(i, _
ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column)) _
.Interior.ColorIndex = xlNone
End If
End If
Next i
MsgBox "처리율 80% 미만 항목을 강조 표시했습니다.", vbInformation
End Sub
선택한 범위의 빈 셀에 "해당없음"을 자동 입력합니다. 데이터 정제에 유용합니다.
Sub FillBlankCells()
Dim rng As Range, cell As Range
Dim count As Long
On Error GoTo NoSelection
Set rng = Selection
For Each cell In rng
If IsEmpty(cell) Or Trim(cell.Value) = "" Then
cell.Value = "해당없음"
cell.Font.Color = RGB(150, 150, 150)
count = count + 1
End If
Next cell
MsgBox count & "개의 빈 셀을 채웠습니다.", vbInformation
Exit Sub
NoSelection:
MsgBox "먼저 범위를 선택해주세요.", vbExclamation
End Sub
| Stage | 실습 파일 | AI가 하는 것 | 사람이 하는 것 |
|---|---|---|---|
| 1. 업로드 분석 | VOC 설문 50건 | 데이터 해석, 인사이트 도출 | 근거 확인, 맥락 판단 |
| 2. 수식 추출 | 운영현황 트래커 15개 부서 | 수식 초안 생성 | 셀 참조 확인, 실행 |
| 3. VBA 자동화 | 월간제출 3개 팀 | 코드 생성 | 테스트, 실행, 디버깅 |
공통 원칙: AI가 초안을 만들고, 사람이 검증·실행·판단한다.
🚀 내일부터 바로 적용하세요 — 매월 반복하는 파일 취합, 데이터 정리, 보고서 양식 채우기 — 이 중 하나만 VBA로 자동화해도 월 수 시간을 절약할 수 있습니다. AI에게 "이 작업을 VBA로 자동화해줘"라고 한 마디만 하면 됩니다.
지시 + 맥락 + 출력형식 — 이 3가지를 넣으면 결과가 달라진다
백 마디 설명보다 예시 2개가 강하다 — 파일 첨부가 최고의 맥락 전달
리버스 프롬프팅으로 템플릿 추출 → GPTs로 자동화 → 팀의 자산
날짜, 숫자, 고유명사, 민감정보 — AI의 결과는 초안이다
작은 것부터, 하지만 매일 한 가지씩 —
한 달 후, 업무 방식이 달라져 있을 것입니다.