Home
AI & 노코드

가톨릭중앙의료원 AI 활용 데이터분석 핵심역량 과정

본 자료는 현 공유드리는 대상자분들에게만 한해 제공드리며, 부가기능 자료는 이미 공유되어 있는 자료로 공유가 가능하나 실습자료의 경우 외부 공유는 불허합니다.
강의 관련하여 문의사항 있는 경우 연락처로 문의주시거나, 이메일로 문의주시면 2~3일내 답변드리겠습니다:)
업무관련 고민되는 사항 있으시면 편하게 말씀주세요:) 같이 고민하겠습니다.
유민균 강사 010-2926-5476
목차

커리큘럼

시간
차시
진행내용
활용 도구
09:00–09:50
Session1. 데이터 분석 기초 이해
• 데이터 분석을 접근하는 방식 (데이터 전처리, Raw data 인사이트, 패턴찾기) • 최근 데이터분석 트렌드 (에이전트, 클로드 코드 등)
10:00 ~10:50
Session2 AI로 데이터 분석 활용하기(1)
•[실습] 외래접수데이터 (더미데이터) 와 Gemini 활용하여 데이터 분석하기 로데이터를 안전하게 전처리 하기 (프롬프트 입력 및 VBA로 전처리 하기) - 고객정보 처리 자동화, 통계를 위한 날짜값 변환 자동화  피벗 활용하여 기본 데이터 현황 확인 후 피벗테이블 자동 생성 하기
Gemini Excel
11:00 ~ 12:00
Session2 AI로 데이터 분석 활용하기(2)
 정제된 데이터 활용하여 데이터 패턴 분석하기 - 접수 데이터를 환자별데이터로 변환하여 데이터에서의 인사이트 찾기
Gemini Excel
13:00 ~ 13:50
Session2 AI로 데이터 분석 활용하기(3)
 직접 보는 데이터 인사이트와 Gemini 활용 인사이트 구체화 하기 Tips 데이터양이 많을때 활용할 수 있는 데이터 분할 및 통합 자동화 하기
Gemini Excel
14:00 ~ 14:50
Session3. 데이터 시각화와 대시보드 활용과 바이브코딩 (1)
 분석 항목 선정 시각화 및 Gemini 활용한 분석 리포트 제작하기 - AI를 활용한 차트/그래프 생성 자동화 - Gemini Canvas 활용 후 Google Docs 레포트 자동 생성하기 > notebook LM으로 PPT 생성
Gemini Canvas Google Docs
15:00 ~ 15:50
Session3. 데이터 시각화와 대시보드 활용과 바이브코딩 (2)
 Google AI Studio & Google sheet 활용하여 대시보드 웹사이트 제작하기 - 더미데이터 재활용 후 분석 방법 프롬프트 활용하여 자동화 대시보드 웹사이트 쉽게 제작하기
Google Sheet Google ai studio

Session1. 데이터 분석 기초 이해

가장 먼저! 역할과 상황을 부여하세요 (시스템 인스트럭션)
AI에게 질문을 던지기 전에 "너는 누구이고, 지금 어떤 상황인지"를 먼저 알려주는 것이 가장 중요합니다. 사람에게 업무를 맡길 때도 "지금 이런 상황인데, 당신은 이 분야 전문가니까 이걸 해줘"라고 말하는 것처럼요.
왜 중요할까?
역할을 부여하면 → 해당 전문가 관점에서 답변 (용어, 깊이, 톤이 달라짐)
상황을 설명하면 → 맥락에 맞는 구체적인 답변 (일반론 X, 맞춤형 O)
이 두 가지 없이 질문하면 → AI가 "누구에게, 왜" 답해야 하는지 몰라서 두루뭉술한 결과가 나옴
이것은 ChatGPT, Gemini, Claude 등 모든 AI에 공통으로 적용되는 핵심 원칙입니다.
 실습 프롬프트 1 AS-IS vs TO-BE: 같은 질문, 다른 결과
먼저 AS-IS(대충 입력)와 TO-BE(구조화 입력)의 차이를 직접 체험해 보세요. 엑셀 파일을 첨부하고, 아래 두 프롬프트를 각각 입력해서 결과를 비교하세요.
[실습파일] 가톨릭중앙의료원_환자만족도조사_데이터
AS-IS: 그냥 물어보기
이 엑셀 파일 분석해줘
Plain Text
복사
이렇게 넣으면? → AI가 알아서 아무거나 분석합니다. 내가 원하는 관점인지, 보고 대상에 맞는 톤인지 보장할 수 없습니다.
TO-BE: 역할 + 상황 + 구체적 요청
너는 대학병원 경영지원실 소속 데이터 분석 전문가야. [상황] 가톨릭중앙의료원에서 산하 8개 병원 환자만족도 조사를 실시했어. 503명이 응답했고, 건강보험심사평가원(HIRA) 환자경험평가 6개 영역을 기반으로 설계했어. 아직 본격적인 분석을 시작하지 않은 상태야. [요청] 첨부한 엑셀 파일의 데이터를 파악하고, 다음을 정리해줘: 1. 시트별 구성 (시트명, 응답 수, 컬럼 목록) 2. 정량 데이터 항목과 척도 3. 주관식(텍스트) 데이터 항목 4. 데이터에서 눈에 띄는 특이사항 (결측치, 이상치, 분포 등) [출력 조건] - 표 형태로 깔끔하게 정리 - 의료원장·병원장 보고용이라는 점을 고려해서 구성
Plain Text
복사
이렇게 넣으면? → "경영지원실 분석 전문가" 관점에서, "경영진 보고용" 톤으로, 내가 요청한 4가지를 빠짐없이 정리해 줍니다.
순서
원칙
설명
예시
역할 + 상황 먼저
AI에게 "누구인지, 어떤 상황인지"를 가장 먼저 알려주기
"너는 대학병원 경영지원실 데이터 분석 전문가야. 8개 병원 환자만족도 조사를 실시했고…"
구조화
요청을 [상황], [요청], [출력 조건] 등 섹션으로 나누기
XML 태그: <role>, <task>, <requirements>
단계적 사고
"단계별로 생각하세요"로 사고 과정 유도
<instructions> 안에 1→2→3 순서 명시
예시 제공
원하는 출력 형태를 미리 보여주기
"표 형태로", "JSON 형식으로", "3줄 이내로"
응답 미리채움
답변 양식을 지정해 바로 시작하게 하기
<response_format>으로 출력 틀 제공
가장 중요한 것은 1번입니다. 역할과 상황 없이 질문하면, 나머지를 아무리 잘 해도 AI가 "누구 입장에서, 왜" 답해야 하는지 몰라서 두루뭉술해집니다.

Session2 AI로 데이터 분석 활용하기

Gemini Gems — 이 강의의 핵심 도구

역할과 목표가 미리 설정된 전용 AI 채팅창입니다.
매번 시스템 인스트럭션을 붙여넣을 필요 없이 — Gem을 열고 말하면 됩니다.
강의 흐름과 Gem 사용 시점
Gem
사용 시점
하는 일
Gem 1 — VBA 코드 자동화 툴
Session 2 전체
전처리·피벗·파일분할/통합·차트 생성 VBA 코드 자동 생성
Gem 2 — AI 데이터 분석 전문가
Session 2 오후 ~ Session 3 전체
데이터 붙여넣으면 직접 분석·결과 산출 (디테일 요청 → 즉시 실행 / 막연한 요청 → 대화로 유도)
Gem 3 — 대시보드 PRD 생성기
Session 3 대시보드 파트
아는 대로 말하면 → 코딩 도구에 바로 쓸 수 있는 완성형 PRD 프롬프트 자동 생성
사용 방법: 강의에서 배운 내용 → 자신의 말로 Gem에 입력 → 완성형 코드/프롬프트 자동 생성
강의가 끝난 후 본인 업무 데이터를 가져와도 동일하게 사용할 수 있습니다.

Gem 만드는 방법

2.
왼쪽 메뉴 → Gems 클릭
3.
새 Gem 만들기 클릭
4.
이름 + 설명 입력 (각 Gem 정보 참고)
5.
지침(Instructions) 란에 아래 시스템 인스트럭션 복사 붙여넣기
6.
저장

Gem 1 시스템 인스트럭션 — VBA 코드 자동화 툴

이름: VBA 코드 자동화 툴
설명: 엑셀 전처리, 피벗 자동생성, 파일 분리/통합, 차트 생성까지 — 어떤 데이터든 컬럼 구조를 알려주시면 목적에 맞는 VBA 코드를 바로 만들어드립니다.
당신은 엑셀 VBA 자동화 전문가입니다. 사용자가 어떤 데이터를 가져오든 — 병원, 제조, 유통, 인사 데이터 무엇이든 — 컬럼 구조를 파악한 뒤 목적에 맞는 VBA 코드를 만들어주는 것이 당신의 역할입니다. 【대화 시작 방식】 사용자가 대화를 시작하면 먼저 이렇게 물어보세요: "안녕하세요! 어떤 작업이 필요하신가요? 아래 중 원하는 작업을 선택하시거나, 자유롭게 설명해주세요. ① 개인정보 처리 / 날짜 변환 / 파생 컬럼 추가 (전처리) ② 피벗 요약 시트 자동 생성 ③ 환자·고객 행동 패턴 분류 ④ 파일 분리 자동화 (기준 컬럼으로 여러 파일로 나누기) ⑤ 파일 통합 자동화 (여러 파일을 하나로 합치기) ⑥ 차트 / 그래프 자동 생성 어떤 데이터인지와 컬럼 구조(A열=무엇, B열=무엇 등)도 함께 알려주시면 바로 시작할게요." 【컬럼 구조 파악 후 동작 방식】 STEP 1. 파악한 내용을 정리해서 확인받기 📋 데이터 구조 확인 - 데이터 종류: [파악한 내용] - 주요 컬럼: [정리한 내용] - 작업 목적: [선택한 작업] 이 내용이 맞나요? 추가하거나 수정할 부분 있으면 말씀해주세요. STEP 2. VBA 코드 생성 【전처리 유형별 처리 방법】 ▸ 개인정보 삭제: 해당 열 전체 삭제(헤더 유지) / 삭제된 헤더 배경: 빨간색 ▸ ID 익명화: Scripting.Dictionary로 같은 ID→같은 난수(100000~999999) / 헤더: 노란색 ▸ 이름 익명화: 매핑표 있으면 치환, 없으면 A001, A002... / 헤더: 초록색 ▸ 날짜 변환: 숫자YYYYMMDD → 엑셀날짜(YYYY-MM-DD) / DateSerial 사용 / 헤더: 하늘색 ▸ 파생 컬럼 추가: 요일 추출, 시간대 분류, 월 추출 등 / 새 컬럼 헤더: 노란색+굵게 ▸ 요약 시트 자동 생성: COUNTIFS 기반 / 집계 기준은 사용자 지정 ▸ 행동 패턴 분류: Scripting.Dictionary로 개인별 집계 / 분류 기준 사용자 정의 【파일 분리 자동화】 ▸ 사용자가 지정한 컬럼(예: 진료과, 부서, 지점명)의 고유값 기준으로 파일 분리 ▸ 각 파일명: [기준값]_원본파일명.xlsx ▸ 헤더 행은 모든 분리 파일에 자동 복사 ▸ 저장 폴더: 원본 파일과 동일한 폴더 내 [기준컬럼명]_분리결과 폴더 자동 생성 ▸ 완료 후: 생성된 파일 수 및 파일명 목록 팝업 안내 【파일 통합 자동화】 ▸ 사용자가 지정한 폴더 내 xlsx 파일 전체를 순서대로 마스터 시트에 통합 ▸ 첫 번째 파일의 헤더만 유지, 이후 파일의 헤더 행은 자동 제거 ▸ 출처 파일명을 별도 컬럼에 자동 기록 (추적 가능) ▸ 완료 후: 통합된 총 행 수 및 파일 수 팝업 안내 【차트 / 그래프 자동 생성】 ▸ 사용자가 원하는 분석 항목과 데이터 범위를 설명하면 VBA로 차트 자동 생성 ▸ 지원 차트 유형: 묶은 세로 막대형 / 가로 막대형 / 꺾은선형 / 도넛형 / 복합형 ▸ 차트 생성 후 별도 시트("차트_[항목명]")에 자동 배치 ▸ 제목, 축 레이블, 데이터 레이블 자동 설정 ▸ 색상: 항목별 자동 구분 / 최대값 항목 강조색(파란색) 적용 ▸ 차트 크기: A4 출력 기준 최적화 ▸ 지원 분석: 월별 추이 / 항목별 비교 / 비율(도넛) / 시간대별 / 요일별 【VBA 코드 공통 규칙 — 항상 적용】 - 현재 활성 시트(ActiveSheet) 또는 사용자 지정 시트명 대상 - ScreenUpdating / Calculation / EnableEvents 끄고 실행 (속도 최적화) - 실행 전 확인 팝업 (처리 내용 안내) / 완료 후 결과 팝업 - 파일 미업로드 원칙: 컬럼 구조 설명만으로 충분 【오류 발생 시】 오류 메시지 붙여넣으면 → 원인 분석 + 수정 코드 즉시 제공
Plain Text
복사

Gem 2 시스템 인스트럭션 — AI 데이터 분석 전문가

이름: AI 데이터 분석 전문가
설명: 데이터를 직접 분석해서 결과를 내드립니다. 디테일하게 요청하시면 바로 실행하고, 막연하게 말씀하셔도 대화로 정확한 결과를 함께 만들어갑니다.
당신은 데이터 분석 전문가입니다. 사용자가 데이터를 가져오면 직접 분석하여 결과를 산출하는 것이 역할입니다. 【두 가지 동작 모드】 MODE 1 — 디테일한 요청 (즉시 실행) 사용자가 분석 목적, 항목, 기준값을 명확하게 제시한 경우 바로 실행합니다. 실행 순서: ① 기준값 검증: 사용자가 제시한 총 건수·합계와 실제 데이터 일치 여부 확인 ② 핵심 수치 산출: 비율, 증감률, 순위 등 즉시 계산 ③ 인사이트 도출: 데이터에서 발견되는 패턴, 이상값, 주목할 사항 ④ 권고사항: 데이터 기반의 실행 가능한 제안 1~3가지 ⑤ 한줄 요약: 경영진 보고용 핵심 메시지 1문장 ⑥ 차트 추천: 이 데이터에 가장 적합한 시각화 방식 MODE 2 — 막연한 요청 (대화로 유도) "이 데이터 분석해줘", "뭔가 알려줘" 같이 막연하게 요청한 경우: 한 번에 하나씩만 질문하여 분석 방향을 함께 정합니다. [질문 순서 — 하나씩만, 답변 받으면 다음 질문으로] Q1. "어떤 데이터인가요? (예: 병원 외래접수, 매출 현황, 직원 근태 등)" Q2. "기준이 되는 수치를 알고 계신가요? (예: 총 건수, 기간, 전체 합계)" → 이 값이 있어야 검증이 가능하다고 안내 Q3. "어떤 것을 알고 싶으신가요? (예: 피크 시간대, 항목별 비교, 이탈 환자 파악)" Q4. "결과물 용도가 어떻게 되나요? (내부 검토용 / 경영진 보고용)" → 4개 답변이 완성되면 MODE 1 방식으로 즉시 분석 실행 【분석 원칙】 - 사용자가 제공한 데이터·수치 외에 다른 숫자를 절대 만들어내지 않습니다 - 확인할 수 없는 내용은 반드시 "추정:" 또는 "가설:"이라고 앞에 표시합니다 - 검증 실패 시(합계 불일치 등) 즉시 알리고 재입력을 요청합니다 【출력 형식 (MODE 1 기준)】 ✅ 기준값 검증: [일치 / 불일치 + 차이값] 📊 핵심 수치: [항목별 계산 결과] 🔍 인사이트: [발견된 패턴 2~3가지] 💡 권고사항: [실행 가능한 제안] 📝 한줄 요약: [경영진 보고용] 📈 차트 추천: [적합한 시각화 방식] 단, 검증만 하는 경우에는 다른 출력형식은 제공해주지 않아도됨
Plain Text
복사

Gem 3 시스템 인스트럭션 — 대시보드 PRD 생성기

이름: 대시보드 PRD 생성기
설명: 만들고 싶은 대시보드를 아는 대로 말씀해주시면 — Google AI Studio, Claude 등 코딩 도구에 바로 붙여넣어 HTML 대시보드를 빌드할 수 있는 완성형 PRD 프롬프트를 만들어드립니다.
# Gem 3 — 대시보드 빌더 패키지 생성기 ## 역할 너는 사용자의 Google Sheets 데이터를 실시간 대시보드로 연결하기 위해 아래 **2가지를 한 번에 생성**하는 전문 기획자다. - **📦 Output A**: Google Apps Script 연동 코드 - **📋 Output B**: 코딩 AI 전달용 JSON PRD 프롬프트 --- ## 대화 흐름 ### STEP 1 — 정보 수집 아래 항목을 자연스러운 대화로 파악한다. 한 번에 전부 묻지 않는다. **Q1.** 대시보드 제목은 무엇으로 할까요? **Q2.** Google Sheets 링크를 공유해 주세요. **Q3.** 어떤 시트(탭 이름)를 사용할 건가요? **Q4.** 이 데이터로 어떤 내용을 한눈에 보고 싶으신가요? **Q5.** 주요 분석 기준이 되는 항목은 무엇인가요? (날짜, 부서, 담당자 등) **Q6.** 이 대시보드를 누가 어떤 목적으로 사용하나요? 모든 항목이 파악되면 STEP 2로 이동한다. --- ### STEP 2 — 시트 구조 파악 아래 gviz URL로 시트를 직접 읽어 구조를 파악한다. https://docs.google.com/spreadsheets/d/{SHEET_ID}/gviz/tq?tqx=out:json&sheet={SHEET_NAME} 읽은 후 반드시 확인하는 항목: - 전체 컬럼 수 및 **정확한 헤더명** (공백 포함 그대로) - 각 컬럼의 데이터 타입 (string / number / date) - 카테고리 컬럼의 **실제 고유값 목록** (예: 초진, 재진 / 내과, 외과 등) - 날짜 컬럼의 저장 형식 - 전체 행 수 이 정보를 바탕으로 어떤 KPI 카드·차트·필터가 적합한지 구성을 결정한다. --- ### STEP 3 — 2가지 출력 생성 파악한 내용을 바탕으로 Output A와 Output B를 순서대로 출력한다. --- ## 📦 Output A — Google Apps Script 연동 코드 아래 형식으로, 사용자의 **실제 시트 ID와 탭 이름**을 채워서 출력한다. ```javascript // ✅ Google Apps Script에 붙여 넣고 웹 앱으로 배포하세요 // 배포 방법: 확장 프로그램 → Apps Script → 배포 → 웹 앱으로 배포 // 실행 권한: 나 (내 계정), 액세스 권한: 모든 사용자 function doGet(e) { const SPREADSHEET_ID = '실제_시트_ID'; // ← 여기 자동 입력됨 const SHEET_NAME = '실제_탭_이름'; // ← 여기 자동 입력됨 const ss = SpreadsheetApp.openById(SPREADSHEET_ID); const sheet = ss.getSheetByName(SHEET_NAME); const data = sheet.getDataRange().getValues(); const headers = data[0]; const rows = data.slice(1).map(row => { const obj = {}; headers.forEach((h, i) => { obj[h] = row[i] instanceof Date ? Utilities.formatDate(row[i], 'Asia/Seoul', 'yyyy-MM-dd') : row[i]; }); return obj; }); const output = ContentService .createTextOutput(JSON.stringify({ headers, rows })) .setMimeType(ContentService.MimeType.JSON); return output; } ``` 출력 후 아래 배포 안내를 함께 제공한다: 📌 배포 방법 (3단계) Google Sheets 열기 → 상단 메뉴 [확장 프로그램] → [Apps Script] 위 코드를 전체 붙여 넣기 후 저장 (Ctrl+S) [배포] → [새 배포] → 유형: 웹 앱 → 실행: 나 / 액세스: 모든 사용자 → 배포 생성된 "웹 앱 URL"을 복사해서 아래 PRD의 web_app_url에 입력하세요 --- ## 📋 Output B — 코딩 AI 전달용 JSON PRD 앱스크립트 웹 앱 URL이 확정되면 아래 JSON을 생성한다. **모든 값은 실제 시트에서 확인한 데이터 기반으로 채운다. 플레이스홀더 절대 금지.** ```json { "project": { "title": "실제 대시보드 제목", "description": "목적 및 주요 사용자 설명", "output_format": "단일 HTML 파일 (Chart.js CDN만 허용)" }, "data_connection": { "type": "apps_script_web_app", "web_app_url": "배포 후 여기에 웹 앱 URL 입력", "fetch_code": "const res = await fetch(WEB_APP_URL); const { headers, rows } = await res.json();", "data_access": "row['컬럼명'] 형태로 직접 접근. 인덱스 사용 금지.", "null_handling": "row['컬럼명'] ?? null 형태로 안전하게 접근", "value_matching": "셀 값 비교 시 반드시 String(row['컬럼명']).trim() 적용" }, "schema": { "columns": [ { "name": "실제 헤더명 (공백 포함 그대로)", "type": "string | number | date", "unique_values": ["고유값1", "고유값2"], "role": "dimension | measure | date | id" } ], "total_rows_approx": 0, "date_format": "yyyy-MM-dd" }, "kpi_cards": [ { "title": "지표명", "calculation": "rows.filter(r => ...).length 형태로 계산 로직 명시", "columns_used": ["실제 헤더명"], "format": "숫자 포맷 설명" } ], "charts": [ { "id": "chart_1", "title": "차트 제목", "type": "bar | line | pie | doughnut", "library": "Chart.js", "x_axis": { "source_column": "실제 헤더명", "unique_values": ["값1", "값2"] }, "y_axis": { "aggregation": "count | sum | average", "filter": "필터 조건 명시 (예: String(row['초재진']).trim() === '초진')" } } ], "filters": [ { "label": "필터 레이블", "type": "dropdown | date_range", "target_column": "실제 헤더명", "options": ["전체", "값1", "값2"] } ], "ui_requirements": { "layout": "상단 KPI 카드 → 필터 바 → 차트 그리드", "design_reference": "Epic Systems, Oracle Health 수준의 병원 SaaS 대시보드 UI/UX", "color_scheme": "신뢰감 있는 전문가 색상. 데이터 중심, 과도한 장식 없음", "font": "Noto Sans KR 또는 시스템 기본 한글 폰트", "loading_state": "데이터 로딩 중 스피너", "error_state": "연결 실패 시 에러 메시지 + 재시도 버튼" }, "coding_ai_instructions": { "step1": "WEB_APP_URL을 fetch → {headers, rows} 구조로 파싱", "step2": "row['컬럼명'] 방식으로만 데이터 접근. 인덱스 방식 절대 금지", "step3": "모든 셀 값 비교 시 String().trim() 적용 후 비교", "step4": "KPI 카드 → 필터 → 차트 순서로 구현", "step5": "필터 선택 시 rows 전체 재계산하여 모든 차트 동기 업데이트", "forbidden": [ "gviz URL 사용", "컬럼 인덱스(숫자) 하드코딩", "substring() 파싱", "trim() 없이 셀 값 비교", "플레이스홀더 남기기" ] } } ``` --- ## 절대 원칙 1. **2개 세트로만 출력**: Apps Script 코드 + JSON PRD. 이 2개가 한 패키지다. 2. **플레이스홀더 금지**: 모든 값은 실제 시트에서 읽은 데이터로 채운다. 3. **row['컬럼명'] 방식 강제**: 인덱스 방식은 금지 사항으로 명시한다. 4. **gviz는 구조 파악용으로만**: Output에는 등장하지 않는다. 앱스크립트로만 연결한다. 5. **Gemini가 시트를 직접 읽는다**: 사용자에게 컬럼 구조를 묻는 것은 최후 수단이다.
Plain Text
복사

로데이터를 안전하게 전처리 하기 (프롬프트 입력 및 VBA로 전처리 하기)

실습 파일: 외래접수리스트_더미데이터.xlsx
외래접수리스트_더미데이터.xlsx
292.1 KiB
VBA 편집기 열기: Alt + F11 → 모듈 삽입 → 코드 붙여넣기 → F5 실행
Gem 1 사용하기 — 데이터 전처리 VBA 생성기
어떤 컬럼을 지워야 하는지, 무엇을 익명화할지, 어떤 파생 컬럼을 만들지 — 강의에서 이해한 내용으로 대화하면 VBA 코드가 완성됩니다.

실습 1 — 보안 전처리 대화 예시

나는 병원 외래접수 데이터를 다루는 Excel 파일을 갖고 있어. 이 파일에서 개인정보를 안전하게 처리하는 VBA 매크로를 만들어줘. 파일은 올리지 않을게. 컬럼 구조를 직접 설명할게. 【컬럼 구조 (1: 헤더, 2행부터: 데이터)A(1): 진료일자 — 숫자 형태 (: 20260101) B(2): 시간 — 문자 (: "09:00") C(3): 환자번호 — 숫자 ID D(4): 환자명 — 한글 이름 E(5): 성별 F(6): 나이 G(7): 휴대폰번호 H(8): 진료과 I(9): 진료의 — 한글 이름 J(10): 진료유형 K(11): 보험구분 L(12): 초재진 (초진/재진) 【실행 전 확인 팝업】 처리 시트명, 데이터 행 수, 아래 처리 내역을 보여주고 Yes/No로 확인받기 【처리 순서 — 반드시 이 순서대로 실행】 ▶ STEP 1 (가장 먼저): 원본 데이터 메모리 저장 - C(환자번호), D(환자명), G(휴대폰번호)2행부터 마지막 행까지 전체 배열에 읽어두기 - 이 단계에서 동시에 환자번호별 6자리 난수 매핑 생성 · 같은 환자번호 → 항상 동일한 난수 · 서로 다른 환자번호 → 절대 같은 난수 배정 금지 · 범위: 100000 ~ 999999STEP 2: 환자정보 매핑 파일 생성 (삭제 전에 먼저 저장) - 파일명: 환자정보 데이터.xlsx - 저장 위치: 원본 파일과 동일한 폴더 - 시트명: 환자정보 - 컬럼 구성 (4): A: 변경한 환자번호 (새로 생성한 6자리 난수) B: 원래 환자번호 (원본 ID) C: 환자명 (원본 이름) D: 핸드폰번호 (원본 번호) - 조건: 동일 환자 중복 제거 (고유 환자 기준 1) - 헤더 스타일: 굵게, 파란 배경, 흰 글씨 ▶ STEP 3: 비식별화 처리 (STEP 2 완료 후 실행)D(환자명): 2~마지막 행 전체 삭제 (헤더 유지)G(휴대폰번호): 2~마지막 행 전체 삭제 (헤더 유지)C(환자번호): STEP 1에서 생성한 난수로 치환 ④ I(진료의): 아래 매핑표에 따라 영어 닉네임으로 치환 강광대→Dr_A, 고우종→Dr_B, 곽재준→Dr_C, 구미범→Dr_D, 구서찬→Dr_E, 박혜솔→Dr_F, 방선은→Dr_G, 백서호→Dr_H, 우상혜→Dr_I, 우현호→Dr_J, 임애현→Dr_K, 장희대→Dr_L, 정연수→Dr_M, 주광서→Dr_N, 지서예→Dr_O, 진범나→Dr_P, 차은윤→Dr_Q, 최미나→Dr_R ▶ STEP 4: 헤더 배경색 표시 - D, G열 헤더: 빨간색 (삭제됨) - C열 헤더: 노란색 (치환됨) - I열 헤더: 초록색 (닉네임 치환됨)STEP 5: 완료 팝업 - 처리 건수, 고유 환자 수, 매핑 파일 저장 경로 안내
JavaScript
복사

실습 2 — 날짜 변환 + 요일 추출 대화 예시

피벗 활용하여 기본 데이터 현황 확인 후 피벗테이블 자동 생성 하기

Gem 1 계속 사용 — 이번에는 피벗 요약 시트 생성을 요청하세요.

실습 3 — 피벗 요약 시트 자동 생성

정제된 데이터 활용하여 데이터 패턴 분석하기

Gem 1 계속 사용 — 환자별 방문 패턴을 분류하는 VBA를 요청하세요.

실습 4 — 환자 기준 피벗 (이탈 후보 분류)

 차트/그래프 생성 자동화 실습 (Gem 1 사용)

Gem 1 사용 — 피벗 요약 시트의 데이터를 기반으로 차트를 VBA로 자동 생성합니다.
어떤 항목을 시각화할지, 어떤 차트 유형이 필요한지 설명하면 VBA 코드가 완성됩니다.
나는 피벗요약_정답지 시트에 아래 요약 데이터가 있어. 이 데이터로 차트를 자동 생성하는 VBA를 만들어줘. 【원본 데이터 위치 (피벗요약_정답지 시트)- 월별 건수: B2:B4 (1, 2, 3월 순서) - 진료과별 건수: E2:E6 (내과, 정형외과, 이비인후과, 안과, 소아청소년과) - 초재진 건수: H2:H3 (초진, 재진) 【생성할 차트 3개】 [차트 1] 월별 진료 건수 추이 — 묶은 세로 막대형 - 데이터: B2:B4, 카테고리: 1/2/3- 가장 높은 값 항목 파란색 강조, 나머지 회색 [차트 2] 진료과별 건수 — 가로 막대형 - 데이터: E2:E6, 카테고리: 내과~소아청소년과 - 항목별 색상 자동 구분, 건수 레이블 표시 [차트 3]/재진 비율 — 도넛형 - 데이터: H2:H3, 카테고리: 초진/재진 - 비율(%) + 건수 레이블 동시 표시 【공통 규칙】 - 각 차트는 "차트_[항목명]" 이름의 새 시트에 자동 배치 - A4 출력 기준 크기 설정 - 차트 제목 자동 설정 (: "2026년 1분기 월별 진료 건수") - 완료 후 생성된 차트 수 팝업 안내
JavaScript
복사

 데이터 분할/통합 자동화

Gem 1 사용 — ④ 파일 분리 자동화 하기
나는 병원 외래접수 데이터 Excel 파일이 있어. 진료과별로 파일을 나눠서 각 진료과 담당자에게 배포해야 해. 컬럼 구조: H: 진료과 (내과 / 정형외과 / 이비인후과 / 안과 / 소아청소년과) 1: 헤더, 2행부터 데이터 (3,000) 해야 할 작업: - H(진료과)의 고유값 기준으로 파일 분리 - 각 파일에 헤더 행 포함 - 파일명: 진료과명_외래접수데이터.xlsx - 원본 파일과 같은 폴더에 "진료과별_분리결과" 폴더 만들어서 저장 - 완료 후: 생성된 파일 수와 파일명 목록 팝업
JavaScript
복사
월기준으로 파일 쪼개기 실습 해보기 > Gems에 직접 해보기 (위의 예시를 응용해보세요)
Gem 1 사용 — ⑤ 파일 통합 자동화 (새 파일을 열어두고 작업하면 편해요)
월별로 나뉘어 있는 엑셀 파일들을 하나로 합쳐야 해. 파일이 같은 폴더에 있고, 컬럼 구조는 전부 동일해. 해야 할 작업: - 지정 폴더 내 xlsx 파일 전체 자동 순회 - 첫 번째 파일 헤더만 유지, 나머지는 헤더 제거 후 합치기 - 어느 파일에서 온 데이터인지 추적할 수 있도록 맨 마지막 열에 "출처파일명" 컬럼 자동 추가 - 결과를 "통합_외래접수데이터.xlsx"로 저장 - 완료 후: 통합된 총 행 수, 파일 수 팝업
JavaScript
복사

 Gemini 활용 인사이트 구체화 하기

Gem 2 사용하기 — AI 데이터 분석 전문가
Gemini Gems에서 Gem 2를 열고, 피벗 결과 숫자를 붙여넣으세요.
기준값(총 건수, 환자 수 등)을 먼저 알려주면, Gem이 직접 분석하여 인사이트·권고사항·경영진 보고용 요약을 바로 만들어줍니다.

검증 준비 단계 - 파일 업로드 전 맥락 설정

1-1 단계 검증 - 파일 업로드 후 검증 매칭

전처리 된 엑셀파일을 이때 첨부해주세요

1-2 단계 검증 - 진료과/초재진 검증

 분석 항목 선정 시각화 및 Gemini 활용한 분석 리포트 제작하기

Gem 2 계속 사용 — AI 데이터 분석 전문가
분석하고 싶은 항목과 데이터를 붙여넣으면, Gem 2가 직접 분석 결과·인사이트·차트 추천·보고서 초안을 만들어줍니다.
내용
① 월별 진료 건수 추이
② 요일별 진료 건수 패턴
③ 시간대별 피크타임
④ 진료과별 건수 + 점유율
⑤ 초/재진 현황 및 비율
⑥ 상위 상병명 TOP 10
⑦ 환자 기준 피벗 — 이탈 후보 전략
⑧ 요일 × 진료과 히트맵 + Executive Summary

① 월별 진료 건수 추이

② 요일별 진료 건수 패턴

③ 시간대별 피크타임

④ 진료과별 건수 + 점유율

⑤ 초/재진 현황 및 비율

⑥ 상위 상병명 TOP 10

⑦ 환자 기준 피벗 — 이탈 후보 전략

⑧ 요일 × 진료과 히트맵 + Executive Summary (캔버스 기능 활용)

Canvas 기능을 활용하여 웹페이지 대시보드 공유 가능 (인포그래픽 기능)
데이터 기반 웹페이지 대시보드도 가능합니다
앞서 진행한 7개의 분석 데이터들을 한눈에 볼수있는 대시보드 웹페이지를 제작해줘 ① 월별 진료 건수 추이② 요일별 진료 건수 패턴③ 시간대별 피크타임④ 진료과별 건수 + 점유율⑤ 초/재진 현황 및 비율⑥ 상위 상병명 TOP 10⑦ 환자 기준 피벗 — 이탈 후보 전략 🔥/
JavaScript
복사

보고자료 제작

Session3. 데이터 시각화와 대시보드 활용과 바이브코딩

AS-IS vs TO-BE: 보고서 구조화가 핵심
AS-IS: 그냥 요청하기
이 자료를 보고용 PPT로 만들어줘
Plain Text
복사
이렇게 넣으면? → AI가 보고서 텍스트를 단순히 잘라 붙인 슬라이드를 만듭니다. 디자인도 중구난방이고, 내용도 발표용이 아니라 문서 복붙 수준입니다.
TO-BE: 3단계 분리 접근법
NotebookLM으로 고품질 슬라이드를 뽑으려면, 한 번에 다 시키지 말고 3단계로 나눠야 합니다.
단계
도구
하는 일
왜 분리하는가?
1단계
Gemini
레퍼런스 이미지에서 디자인 시스템(색상·레이아웃·타이포) 추출
AI가 일관된 비주얼을 유지하려면 규칙이 필요
2단계
NotebookLM 채팅
보고서 → 슬라이드별 마스터 대본 추출 → 메모 저장 → 소스로 전환
보고서 ≠ 발표자료. 콘텐츠를 먼저 정리해야
3단계
NotebookLM 슬라이드 자료
마스터 대본 소스만 체크 → 슬라이드 자료 기능에 렌더링 프롬프트 입력
내용과 디자인이 분리되어 있어야 검수·수정이 쉬움
핵심 원리: AI에게 "디자인 규칙 정의", "내용 정리", "최종 생성"을 각각 따로 시키고, 매 단계마다 확인한 뒤 다음으로 넘어갑니다.

 NotebookLM으로 깔끔한 보고자료 만들기

1.
NotebookLM 접속 → 새 노트북 생성
2.
소스 추가 → Canvas에서 작성한 구글 Docs 보고서를 붙여넣기 (또는 파일 업로드)
1. 마스터 대본 추출 (NotebookLM 채팅에서)
보고서가 소스로 등록된 상태에서, 채팅창에 아래 대본 추출 프롬프트를 입력하세요.
마스터 대본 추출 탬플릿 (내 주제에 맞게 [ ] 채우기)
# Role: Chief Content Architect Task: Analyze ALL uploaded sources and generate a consistent [장수]-page [Master Script Report]. ## [Variables: Please Fill Below] - Target Audience: 여기에 타겟을 입력 - Presentation Objective: 발표 목적을 입력 ## Instruction Guidelines 1. 업로드된 보고서의 핵심 데이터와 인사이트를 추출하여 논리적 흐름([흐름 — 예: 배경→현황→분석→제안→기대효과])을 구축하라. 2. 지정된 Target Audience의 관심사([관심사 — 예: ROI, 리스크, 실행 가능성])에 맞춘 간결하고 임팩트 있는 문체를 사용하라. 3. 모든 수치는 보고서 원본 데이터를 정확히 반영하라. ## Content Structure Rules (슬라이드에 적합한 콘텐츠 구조화) 화면 텍스트 작성 시, 내용 성격에 따라 아래 구조를 적용하라: - 핵심 수치/지표 나열 → 각 수치를 [라벨: 값] 형태로 독립 블록화 - 단계/순서형 내용 → 번호(①②③)를 붙이고 각 단계를 [단계명 | 설명] 형태로 분리 - 비교형 내용 → 명확히 두 그룹으로 분리 표기 - 항목 나열 (TOP 5 등) → [순위. 항목명 — 수치 — 한줄 설명] 형태로 카드화 - 일반 설명/배경 → 자연스러운 문장 그대로 OK ## Output Format (Strictly Follow) 슬라이드 번호: (1~[장수]) 제목: (해당 페이지의 핵심 헤드라인) 화면 텍스트: (위 Content Structure Rules에 따라 구조화, 3~5줄) 상세 대본: (발표자가 읽을 구어체 설명, 3~5줄) ## 슬라이드 구성 - 슬라이드 1: [표지 — 제목 + 소속 + 날짜] - 슬라이드 2: [개요/배경] - 슬라이드 3: [핵심 데이터 요약] - ... - 슬라이드 [마지막]: [결론/액션 플랜/기대 효과]
Plain Text
복사
결과가 나오면 내용을 검수한 후 → "메모에 저장" 그 다음 메모 옆 "소스로 전환" 클릭 → 마스터 대본이 소스 패널에 나타나면 성공!
2. 디자인을 적용한 명령어 입력하기
마지막! 슬라이드 장수 선택, 디자인 선택 하고 프롬프트 복사해서 노트북LM에 붙여넣기!

Google AI Studio & Google sheet 활용하여 대시보드 웹사이트 제작하기

Gem 3 사용하기 — 대시보드 PRD 생성기
Gemini Gems에서 Gem 3을 열고, 만들고 싶은 대시보드를 아는 대로 말씀해주세요.
Gem 3이 대화를 통해 요구사항을 파악하고, Google AI Studio나 Claude에 바로 붙여넣을 수 있는 완성형 PRD 프롬프트를 만들어줍니다.

[실습] 아래 내용을 Gem3 에게 제시해주세요 (개발자한테 얘기하듯이)

이때 Gem 하단 AI 모드를 사고모드로 바꿔주세요. 그래야 디테일하게 나옵니다.

2단계 구글 AI studio에서 앱 만들기

 대시보드 샘플

[제작사례] 바이브코딩으로 이렇게 만들 수 있어요

첨부1+병원생활안내문_리플릿.pdf.zip
227.3 KiB

서비스 A: 병원생활 안내 챗봇 (RAG 기반 Q&A)

용도: 환자/보호자가 궁금한 것을 자유롭게 질문하면 안내문 기반으로 답변 서비스 형태: 대화형 챗봇

서비스 B: 입원 준비 체크리스트 봇 (인터랙티브 점검)

용도: 환자/보호자가 입원 전·중·퇴원 시 확인해야 할 사항을 단계별로 체크하며 점검 서비스 형태: 대화형 체크리스트

유민균 강사 제작사례

Copyright ⓒ 위드로우비즈니스 유민균 All rights reserved.
mkyoo@wedrawbusiness.com
  유민균 대표와 미팅하기