[카테고리:] 실무 자동화

  • Notion과 Perplexity로 팀 프로젝트 진행 상황을 10분 만에 시각화하는 방법

    Notion과 Perplexity로 팀 프로젝트 진행 상황을 10분 만에 시각화하는 방법

    진행 상황을 묻는 회의가 길어지는 이유

    팀 프로젝트 회의에서 자주 나오는 질문은 비슷합니다.

    “전체 일정은 지금 몇 퍼센트까지 진행됐나요?”

    “이번 주에 지연된 업무는 무엇인가요?”

    “의사결정이 필요한 항목만 따로 볼 수 있을까요?”

    문제는 정보가 없어서가 아닙니다. 업무명, 담당자, 마감일, 상태가 Notion에 모두 기록돼 있어도 데이터가 표 형태로만 쌓여 있으 (자세히 보기) (자세히 보기) (자세히 보기)면 프로젝트의 흐름이 한눈에 들어오지 않습니다.

    이럴 때 Notion의 프로젝트 데이터를 정리한 뒤 Perplexity에 입력하면, 단순한 업무 목록을 다음과 같은 시각 자료용 요약으로 바꿀 수 있습니다.

    • 전체 진행률
    • 완료·진행 중·지연 업무 비율
    • 마감이 임박한 업무
    • 팀장이 결정해야 할 항목
    • 이번 주 우선순위

    여기서 말하는 ‘시각화’는 복잡한 그래프 프로그램을 새로 배우는 것이 아닙니다. Notion에서는 상태별 보드와 필터 화면을 만들고, Perplexity에서는 데이터를 분석해 회의용 요약문과 차트 작성용 표를 만드는 방식입니다.

    먼저 Notion 프로젝트 데이터를 정리합니다

    Notion에 프로젝트 데이터베이스가 이미 있다면 새로 만들 필요는 없습니다. 다만 AI가 데이터를 정확하게 해석하려면 열 이름과 상태값을 일정하게 맞춰야 합니다.

    권장 데이터베이스 항목

    항목 입력 형식 예시
    업무명 텍스트 제품 소개 페이지 문구 확정
    담당 사람 또는 부서 마케팅팀
    상태 선택 예정, 진행 중, 검토 중, 완료, 지연
    진행률 숫자 70
    마감일 날짜 2026-08-05
    우선순위 선택 높음, 보통, 낮음
    문제·요청사항 텍스트 최종 가격 정책 승인 필요

    상태를 작성할 때 ‘작업 중’, ‘진행’, ‘수행 중’처럼 비슷한 표현을 섞으면 AI가 서로 다른 상태로 계산할 수 있습니다. 상태값은 다섯 개 안팎으로 통일하는 편이 안전합니다.

    실제로 입력할 프로젝트 데이터 예시

    신제품 소개 페이지 제작 프로젝트를 예로 들어보겠습니다.

    업무명 담당 상태 진행률 마감일 우선순위 문제·요청사항
    제품 핵심 메시지 확정 마케팅팀 완료 100 2026-07-25 높음 없음
    상세 페이지 초안 작성 콘텐츠팀 진행 중 70 2026-07-31 높음 가격 정책 최종 확인 필요
    제품 이미지 촬영 디자인팀 지연 40 2026-07-29 높음 촬영 샘플 입고 지연
    모바일 화면 검수 개발팀 예정 0 2026-08-04 보통 디자인 최종본 필요
    법무 표현 검토 법무팀 검토 중 80 2026-07-30 높음 효능 관련 문구 수정 요청
    최종 게시 승인 사업부 예정 0 2026-08-06 높음 선행 업무 완료 후 승인 가능

    이 정도 데이터만 있어도 프로젝트의 진행률, 지연 원인, 선행 업무 관계를 상당히 구체적으로 정리할 수 있습니다.

    프로젝트 업무가 상태별로 분류되는 흐름을 표현한 일러스트

    Notion 데이터를 Perplexity에 전달하는 방법

    Notion과 Perplexity를 반드시 자동 연동해야 하는 것은 아닙니다. 10분 안에 결과를 만들 목적이라면 먼저 수동 복사 방식으로 시작하는 편이 빠르고 안전합니다.

    1단계: Notion에서 분석할 항목만 표시합니다

    프로젝트 데이터베이스에서 다음 열만 남깁니다.

    • 업무명
    • 담당
    • 상태
    • 진행률
    • 마감일
    • 우선순위
    • 문제·요청사항

    거래처 전화번호, 직원 개인 연락처, 계약 금액, 고객 이름처럼 분석에 필요하지 않은 정보는 숨깁니다. 이후 표의 행을 복사해 Perplexity 입력창에 붙여 넣습니다.

    2단계: 분석 기준을 포함한 프롬프트를 입력합니다

    데이터만 붙여 넣고 “분석해 줘”라고 요청하면 설명이 길어지거나 중요하지 않은 항목까지 요약될 수 있습니다. 결과물의 용도와 형식을 함께 지정해야 합니다.

    Perplexity 입력 예시

    아래는 신제품 소개 페이지 제작 프로젝트의 업무 현황입니다.

    이 데이터를 팀 주간회의에서 바로 사용할 수 있도록 분석해 주세요.

    1. 전체 평균 진행률을 계산해 주세요.
    2. 상태별 업무 개수와 비율을 표로 정리해 주세요.
    3. 지연되었거나 3일 이내 마감인 업무를 분리해 주세요.
    4. 다른 업무를 막고 있는 선행 업무를 찾아 주세요.
    5. 팀장이나 사업부의 결정이 필요한 항목을 정리해 주세요.
    6. 마지막에는 ‘현재 상황, 위험 요소, 이번 주 행동’의 3개 영역으로 요약해 주세요.
    7. 확인되지 않은 내용은 추측하지 말고 ‘확인 필요’로 표시해 주세요.

    [프로젝트 데이터]
    제품 핵심 메시지 확정 | 마케팅팀 | 완료 | 100 | 2026-07-25 | 높음 | 없음
    상세 페이지 초안 작성 | 콘텐츠팀 | 진행 중 | 70 | 2026-07-31 | 높음 | 가격 정책 최종 확인 필요
    제품 이미지 촬영 | 디자인팀 | 지연 | 40 | 2026-07-29 | 높음 | 촬영 샘플 입고 지연
    모바일 화면 검수 | 개발팀 | 예정 | 0 | 2026-08-04 | 보통 | 디자인 최종본 필요
    법무 표현 검토 | 법무팀 | 검토 중 | 80 | 2026-07-30 | 높음 | 효능 관련 문구 수정 요청
    최종 게시 승인 | 사업부 | 예정 | 0 | 2026-08-06 | 높음 | 선행 업무 완료 후 승인 가능

    3단계: AI가 계산한 숫자를 원본과 대조합니다

    AI가 표를 잘 정리하더라도 진행률과 날짜 계산은 반드시 한 번 확인해야 합니다. 위 예시의 단순 평균 진행률은 다음과 같습니다.

    (100 + 70 + 40 + 0 + 80 + 0) ÷ 6 = 약 48.3%

    Perplexity가 약 48%라고 표시했다면 계산은 맞습니다. 다만 업무마다 중요도가 다르기 때문에 이 수치는 ‘업무 수 기준 단순 평균’이라고 표기해야 합니다. 규모가 큰 업무와 작은 업무를 동일한 비중으로 계산한 값이기 때문입니다.

    AI 분석 결과는 이렇게 나옵니다

    앞의 데이터를 기준으로 정리하면 다음과 같은 회의용 결과물을 만들 수 있습니다.

    프로젝트 현황 요약

    지표 결과
    전체 업무 6개
    단순 평균 진행률 약 48%
    완료 1개
    진행·검토 중 2개
    예정 2개
    지연 1개
    의사결정 필요 가격 정책, 효능 표현

    회의에서 바로 읽을 수 있는 요약문

    현재 상황
    전체 6개 업무 중 1개가 완료됐으며, 단순 평균 진행률은 약 48%입니다. 콘텐츠 초안과 법무 검토는 마무리 단계에 들어갔지만 이미지 촬영이 지연되고 있습니다.

    위험 요소
    제품 이미지 촬영 지연이 모바일 검수와 최종 게시 승인 일정에 영향을 줄 가능성이 있습니다. 상세 페이지 초안은 가격 정책이 확정되지 않으면 최종 문구를 확정하기 어렵습니다.

    이번 주 행동
    촬영 샘플 입고일을 확인하고 대체 촬영 가능 여부를 결정합니다. 가격 정책과 효능 표현 수정안을 우선 승인한 뒤 콘텐츠와 법무 업무를 마감합니다.

    단순 표에서는 ‘제품 이미지 촬영 40%’만 보이지만, AI 분석을 거치면 이 업무가 모바일 검수와 게시 승인까지 늦출 수 있다는 연결 관계가 드러납니다. 이것이 업무 목록을 시각적 프로젝트 자료로 바꾸는 핵심입니다.

    Notion에서 직관적인 대시보드로 구성합니다

    Perplexity가 정리한 결과를 다시 Notion 프로젝트 페이지 상단에 배치합니다. 대시보드는 많은 정보를 보여주는 화면이 아니라, 회의 참석자가 10초 안에 상황을 이해하게 만드는 화면이어야 합니다.

    추천 배치 순서

    1. 상단: 전체 진행률과 완료 예정일
    2. 두 번째 영역: 현재 상황·위험 요소·이번 주 행동
    3. 세 번째 영역: 상태별 보드
    4. 네 번째 영역: 지연 및 의사결정 필요 업무
    5. 하단: 전체 업무 데이터베이스

    보기 화면은 세 개만 만들어도 충분합니다

    보기 1. 전체 진행 현황

    • 형식: 보드
    • 그룹 기준: 상태
    • 표시 항목: 담당, 진행률, 마감일

    보기 2. 이번 주 확인 업무

    • 형식: 표
    • 필터: 마감일이 7일 이내
    • 정렬: 우선순위 높은 순, 마감일 빠른 순

    보기 3. 지연·결정 필요

    • 형식: 표 또는 목록
    • 필터: 상태가 지연이거나 문제·요청사항이 비어 있지 않음
    • 표시 항목: 업무명, 담당, 문제·요청사항, 마감일
    회의 화면에 표시된 프로젝트 현황을 보며 의견을 정리하는 모습

    대부분 놓치는 부분: 진행률보다 ‘막히는 지점’을 보여주세요

    프로젝트 대시보드를 만들 때 진행률 숫자만 크게 표시하는 경우가 많습니다. 하지만 팀장과 실무자가 실제로 필요로 하는 정보는 “왜 멈췄는가”와 “누가 무엇을 결정해야 하는가”입니다.

    그래서 Perplexity에 다음 후속 질문을 한 번 더 입력하는 것이 좋습니다.

    앞의 프로젝트 데이터를 기준으로, 다른 업무의 시작이나 완료를 막고 있는 업무만 찾아 주세요.

    각 항목을 ‘막힌 업무 → 원인 → 필요한 결정 → 결정 담당’ 순서의 표로 작성해 주세요.

    데이터에 담당자가 명시되지 않은 경우 임의로 지정하지 말고 ‘담당 확인 필요’라고 표시해 주세요.

    예상 결과

    막힌 업무 원인 필요한 결정 결정 담당
    상세 페이지 초안 확정 가격 정책 미확정 최종 판매가격 승인 담당 확인 필요
    모바일 화면 검수 디자인 최종본 미완료 이미지 촬영 일정 또는 대체안 결정 담당 확인 필요
    최종 게시 승인 콘텐츠·디자인·법무 업무 미완료 선행 업무 완료 일정 확정 사업부

    이 표를 대시보드 상단에 배치하면 회의가 단순 현황 보고에서 의사결정 중심으로 바뀝니다. 각 담당자가 자신의 업무를 길게 설명하기 전에, 어떤 결정이 필요한지부터 확인할 수 있기 때문입니다.

    회의 피드백을 다음 대시보드에 반영하는 방법

    시각 자료를 한 번 만든 뒤 그대로 고정하면 실제 업무와 점점 멀어질 수 있습니다. 회의가 끝난 뒤에는 참석자의 질문을 기록해 다음 화면에 반영해야 합니다.

    회의 중 나온 질문을 세 가지로 분류합니다

    질문 유형 예시 반영 방법
    숫자 확인 완료 기준은 무엇인가요? 상태 정의를 데이터베이스 설명에 추가
    일정 확인 지연되면 최종 게시일도 바뀌나요? 선행 업무 또는 의존 관계 열 추가
    의사결정 확인 누가 가격을 승인해야 하나요? 결정 담당 열 추가

    예를 들어 첫 회의에서 “누가 결정해야 하는지 모르겠다”는 질문이 반복됐다면 Notion에 ‘결정 담당’ 속성을 추가합니다. 다음 분석에서는 해당 열까지 Perplexity에 전달합니다.

    피드백 반영용 프롬프트

    이번 회의에서 다음 피드백이 나왔습니다.

    – 진행률만으로는 실제 완료 여부를 판단하기 어렵다.
    – 지연 업무가 최종 일정에 미치는 영향이 보이지 않는다.
    – 의사결정 담당자가 명확하지 않다.

    다음 주 대시보드에 추가해야 할 데이터 항목을 제안해 주세요. 각 항목마다 입력 예시와 대시보드에서 표시할 위치도 알려 주세요. 기존 데이터로 확인할 수 없는 정보는 추정하지 마세요.

    이 과정을 반복하면 대시보드가 보기 좋은 보고서에 머무르지 않고 실제 팀의 질문에 답하는 운영 도구로 발전합니다.

    10분 안에 끝내는 실행 순서

    1. 0~2분: Notion에서 분석에 필요하지 않은 열과 민감정보를 숨깁니다.
    2. 2~4분: 업무명, 상태, 진행률, 마감일, 문제·요청사항을 복사합니다.
    3. 4~6분: Perplexity에 분석 기준과 함께 데이터를 입력합니다.
    4. 6~8분: 진행률, 날짜, 업무 개수를 원본과 대조합니다.
    5. 8~10분: 요약문과 지연 업무 표를 Notion 대시보드 상단에 붙여 넣습니다.

    처음에는 완전 자동화를 목표로 잡지 않는 편이 좋습니다. 매주 10분씩 수동으로 실행하면서 팀이 실제로 보는 항목을 확인한 뒤, 반복 구조가 확정됐을 때 자동화 도구나 API 연동을 검토하는 순서가 효율적입니다.

    FAQ

    1. 회사 프로젝트 데이터를 Perplexity에 그대로 입력해도 되나요?

    회사 보안 규정과 외부 AI 서비스 이용 지침을 먼저 확인해야 합니다. 고객명, 직원 개인정보, 계약 조건, 비공개 매출, 원가, 인증정보, 내부 시스템 주소 등은 입력하지 않는 것이 안전합니다. 분석에는 ‘거래처 A’, ‘담당 부서’, ‘승인 필요’처럼 식별이 어려운 표현을 사용하고, 꼭 필요한 열만 전달하세요. 외부 AI 사용이 금지된 회사라면 데이터 자체를 입력하지 말고 빈 템플릿과 가상 데이터로 화면 구조만 설계해야 합니다.

    2. Perplexity가 만든 분석 결과를 그대로 보고해도 되나요?

    그대로 보고하기보다 원본 데이터와 대조해야 합니다. 특히 평균 진행률, 마감일까지 남은 날짜, 지연 업무 수, 담당자 판단은 오류 가능성이 있습니다. AI가 원문에 없는 원인이나 담당자를 추가했다면 삭제하고 ‘확인 필요’로 바꾸세요. 최종 책임은 보고서를 작성하고 승인하는 조직에 있습니다.

    3. 프로젝트마다 진행률 기준이 달라서 숫자를 믿기 어렵습니다. 어떻게 해야 하나요?

    진행률 입력 기준을 먼저 통일해야 합니다. 예를 들어 0%는 미착수, 30%는 초안 작성, 70%는 내부 검토, 90%는 승인 대기, 100%는 최종 산출물 등록 완료로 정의할 수 있습니다. 프로젝트 성격상 숫자화가 어렵다면 진행률 대신 ‘예정·진행 중·검토 중·완료·지연’ 상태와 다음 행동을 중심으로 대시보드를 구성하는 편이 더 정확합니다.


  • AI와 Google Apps Script로 반복적인 엑셀 데이터 정리 자동화하기

    AI와 Google Apps Script로 반복적인 엑셀 데이터 정리 자동화하기

    매일 20분씩 하던 엑셀 정리, 버튼 한 번으로 끝내기

    매일 아침 전날 실적 파일을 열어 다음과 같은 작업을 반복하는 직장인이 많습니다.

    • 이름과 부서명 앞뒤의 불필요한 공백 삭제
    • 휴대전화 번호 형식 통일
    • 금액에 포함된 쉼표와 ‘원’ 문자 제거
    • 처리 상태가 비어 있는 행에 ‘확인 필요’ 입력
    • 중복된 접수번호 표시

    데이터가 20행이라면 손으로 처리할 수 있습니다. 하지만 매일 300행, 500행씩 쌓이면 단순 정리에만 상당한 시간이 들어갑니다. 더 큰 문제는 복사와 붙여넣기를 반복하다가 행을 잘못 지우거나 숫자 형식을 바꾸는 실수가 생긴다는 점입니다.

    이 글에서는 엑셀 파일을 Google 스프레드시트로 열고, ( ( (자세히 보기)자세히 보기)자세히 보기)Google Apps Script로 ‘데이터 정리’ 메뉴를 만들어 한 번의 클릭으로 수백 행을 정리하는 과정을 실제 예시와 함께 설명합니다. 코드를 이해하기 위해 프로그래밍을 따로 공부할 필요는 없습니다. 예제의 열 이름만 현재 업무 파일에 맞게 바꾸면 바로 시험할 수 있습니다.

    먼저 자동화할 업무 장면을 정해보겠습니다

    아래와 같은 일일 접수 현황을 매일 전달받는 상황을 가정하겠습니다.

    정리 전 원본 데이터

    접수번호 담당자 부서 연락처 처리금액 상태
    A-1001  박지훈   영업1팀 01012345678 1,250,000원 완료
    A-1002 이서연  고객 지원팀  010-9876-5432 850000
    A-1002  최민수 영업1팀 010 5555 1111 320,000 원 처리중

    이 표에는 눈으로는 쉽게 보이지만 집계와 필터링을 방해하는 문제가 섞여 있습니다.

    • 담당자와 부서명에 공백이 포함되어 있습니다.
    • 연락처 형식이 세 가지로 다릅니다.
    • 처리금액이 숫자가 아닌 문자로 저장될 수 있습니다.
    • 상태가 비어 있는 행이 있습니다.
    • 접수번호 A-1002가 중복되었습니다.

    목표는 이 데이터를 다음과 같이 바꾸는 것입니다.

    버튼 클릭 후 결과

    접수번호 담당자 부서 연락처 처리금액 상태 중복 여부
    A-1001 박지훈 영업1팀 010-1234-5678 1250000 완료 정상
    A-1002 이서연 고객 지원팀 010-9876-5432 850000 확인 필요 중복
    A-1002 최민수 영업1팀 010-5555-1111 320000 처리중 중복
    원본 데이터가 정리된 표로 변환되는 자동화 흐름

    1단계: 엑셀 파일을 Google 스프레드시트로 열기

    Google Apps Script는 Google 스프레드시트 안에서 작동합니다. 기존 엑셀 파일이 있다면 다음 순서로 변환합니다.

    1. Google Drive에 접속합니다.
    2. 엑셀 파일을 Drive에 업로드합니다.
    3. 업로드한 파일을 마우스 오른쪽 버튼으로 클릭합니다.
    4. 연결 앱 → Google 스프레드시트를 선택합니다.
    5. 원본과 구분할 수 있도록 파일명을 ‘일일접수현황_자동정리’처럼 변경합니다.

    처음부터 원본 파일에 적용하지 말고, 반드시 복사본에서 시험하는 편이 안전합니다. 자동화 코드에 오류가 있더라도 원본을 보존할 수 있기 때문입니다.

    실무 적용 전 확인: 회사에서 Google Drive 사용을 허용하지 않거나 외부 클라우드 업로드를 제한한다면, 실제 고객·직원 데이터를 올리지 마십시오. 이 경우 가상의 이름과 번호로 만든 테스트 파일에서만 구조를 검증한 뒤 사내 보안 담당 부서의 승인을 받아야 합니다.

    2단계: Apps Script 편집기 열기

    1. 자동화할 Google 스프레드시트를 엽니다.
    2. 상단 메뉴에서 확장 프로그램 → Apps Script를 누릅니다.
    3. 새 창에 기본으로 표시된 코드를 모두 지웁니다.
    4. 아래 스크립트를 복사해 붙여넣습니다.

    바로 사용할 수 있는 데이터 정리 스크립트

    function onOpen() { SpreadsheetApp.getUi() .createMenu('업무 자동화') .addItem('데이터 정리 실행', 'cleanDailyData') .addToUi(); } function cleanDailyData() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const lastRow = sheet.getLastRow(); const lastColumn = sheet.getLastColumn(); if (lastRow < 2) { SpreadsheetApp.getUi().alert('정리할 데이터가 없습니다.'); return; } const range = sheet.getRange(1, 1, lastRow, lastColumn); const values = range.getValues(); const headers = values[0].map(header => String(header).trim()); const receiptIndex = headers.indexOf('접수번호'); const nameIndex = headers.indexOf('담당자'); const departmentIndex = headers.indexOf('부서'); const phoneIndex = headers.indexOf('연락처'); const amountIndex = headers.indexOf('처리금액'); const statusIndex = headers.indexOf('상태'); const requiredHeaders = { '접수번호': receiptIndex, '담당자': nameIndex, '부서': departmentIndex, '연락처': phoneIndex, '처리금액': amountIndex, '상태': statusIndex }; const missingHeaders = Object.entries(requiredHeaders) .filter(([name, index]) => index === -1) .map(([name]) => name); if (missingHeaders.length > 0) { SpreadsheetApp.getUi().alert( '필수 열을 찾을 수 없습니다: ' + missingHeaders.join(', ') ); return; } let duplicateIndex = headers.indexOf('중복 여부'); if (duplicateIndex === -1) { duplicateIndex = headers.length; headers.push('중복 여부'); for (let i = 1; i < values.length; i++) { values[i].push(''); } } values[0] = headers; const receiptCounts = {}; for (let i = 1; i < values.length; i++) { const receiptNumber = String(values[i][receiptIndex]).trim(); if (receiptNumber) { receiptCounts[receiptNumber] = (receiptCounts[receiptNumber] || 0) + 1; } } for (let i = 1; i < values.length; i++) { values[i][receiptIndex] = String(values[i][receiptIndex]).trim(); values[i][nameIndex] = String(values[i][nameIndex]).trim(); values[i][departmentIndex] = String(values[i][departmentIndex]) .trim() .replace(/\s+/g, ' '); const phoneDigits = String(values[i][phoneIndex]).replace(/\D/g, ''); if (phoneDigits.length === 11) { values[i][phoneIndex] = phoneDigits.replace( /(\d{3})(\d{4})(\d{4})/, '$1-$2-$3' ); } else if (phoneDigits.length === 10) { values[i][phoneIndex] = phoneDigits.replace( /(\d{3})(\d{3})(\d{4})/, '$1-$2-$3' ); } const amountText = String(values[i][amountIndex]).replace(/[^\d.-]/g, ''); values[i][amountIndex] = amountText === '' ? '' : Number(amountText); if (String(values[i][statusIndex]).trim() === '') { values[i][statusIndex] = '확인 필요'; } else { values[i][statusIndex] = String(values[i][statusIndex]).trim(); } const receiptNumber = values[i][receiptIndex]; values[i][duplicateIndex] = receiptNumber && receiptCounts[receiptNumber] > 1 ? '중복' : '정상'; } sheet .getRange(1, 1, values.length, values[0].length) .setValues(values); sheet .getRange(2, amountIndex + 1, lastRow - 1, 1) .setNumberFormat('#,##0'); sheet.setFrozenRows(1); sheet.autoResizeColumns(1, values[0].length); SpreadsheetApp.getUi().alert( (lastRow - 1) + '개 행의 데이터 정리가 완료되었습니다.' ); }

    붙여넣은 뒤 상단의 저장 아이콘을 누르고 프로젝트 이름을 ‘일일 데이터 정리’로 지정합니다.

    3단계: 스크립트를 처음 실행하고 권한 승인하기

    처음 한 번은 스크립트 실행 권한을 승인해야 합니다.

    1. Apps Script 편집기 상단의 함수 선택란에서 cleanDailyData를 선택합니다.
    2. 실행 버튼을 누릅니다.
    3. 권한 확인 창이 나타나면 사용 중인 Google 계정을 선택합니다.
    4. 스크립트가 현재 스프레드시트를 수정하도록 승인합니다.

    권한 승인 후 스프레드시트 화면으로 돌아와 새로고침합니다. 상단 메뉴에 업무 자동화가 추가됩니다.

    이제 매일 데이터를 붙여넣은 뒤 다음 두 번의 클릭만 하면 됩니다.

    업무 자동화 → 데이터 정리 실행

    정리가 끝나면 ‘500개 행의 데이터 정리가 완료되었습니다’와 같은 안내 창이 표시됩니다.

    스프레드시트의 자동화 메뉴를 실행하는 화면

    스크립트가 실제로 처리하는 작업

    코드 전체를 해석할 필요는 없지만, 어떤 기준으로 원본이 바뀌는지는 알고 있어야 합니다.

    대상 열 입력 예시 정리 결과
    담당자 “ 박지훈 ” “박지훈”
    부서 “고객  지원팀 ” “고객 지원팀”
    연락처 “010 1234 5678” “010-1234-5678”
    처리금액 “1,250,000원” 숫자 1,250,000
    상태 빈칸 “확인 필요”
    접수번호 같은 번호가 두 번 등장 중복 여부 열에 “중복” 표시

    특히 처리금액을 단순히 보기 좋은 문자로 바꾸는 것이 아니라 실제 숫자 형식으로 변환한다는 점이 실무에서 유용합니다. 그래야 합계, 평균, 피벗 테이블, 차트에서 정상적으로 계산됩니다.

    대부분 놓치는 부분: 열 순서가 바뀌어도 작동하게 만들기

    간단한 자동화 예제는 흔히 “B열은 담당자, C열은 부서”처럼 열 위치를 고정합니다. 하지만 실무 파일은 작성자나 시스템에 따라 열 순서가 바뀔 수 있습니다.

    예를 들어 이번 주에는 연락처가 D열에 있었지만, 다음 주 파일에서는 신규 항목이 추가되어 E열로 밀릴 수 있습니다. 열 번호를 기준으로 만든 코드는 이때 엉뚱한 데이터를 수정합니다.

    위 스크립트는 열 번호가 아니라 첫 번째 행의 제목을 읽습니다.

    const phoneIndex = headers.indexOf('연락처'); const amountIndex = headers.indexOf('처리금액');

    따라서 ‘연락처’ 열이 D열에서 F열로 이동해도 제목이 같다면 정상적으로 찾아갑니다. 반대로 필수 제목이 빠졌다면 자동 정리를 중단하고 누락된 열 이름을 안내합니다. 잘못된 열을 조용히 수정하는 것보다, 실행을 멈추고 문제를 알려주는 방식이 업무용 자동화에 더 안전합니다.

    현재 업무 파일에 맞게 수정하는 방법

    열 이름이 다를 때

    회사 파일에서 ‘담당자’ 대신 ‘담당자명’을 사용한다면 아래 한 줄을 찾습니다.

    const nameIndex = headers.indexOf('담당자');

    다음과 같이 제목만 바꿉니다.

    const nameIndex = headers.indexOf('담당자명');

    아래의 필수 열 목록에서도 같은 이름으로 변경합니다.

    '담당자명': nameIndex

    빈 상태를 다른 문구로 표시할 때

    빈칸을 ‘미처리’로 표시하려면 다음 부분을 찾습니다.

    values[i][statusIndex] = '확인 필요';

    아래처럼 바꿉니다.

    values[i][statusIndex] = '미처리';

    ChatGPT에 수정 요청하는 실제 입력 예시

    코드를 직접 수정하기 어렵다면 회사의 실제 데이터가 아닌 가상의 열 구조를 사용해 ChatGPT에 요청할 수 있습니다.

    입력:
    아래 Google Apps Script에서 ‘담당자’ 열을 ‘검수자’로 바꾸고, ‘상태’가 비어 있으면 ‘검수 대기’가 입력되도록 수정해 주세요. 다른 기능은 변경하지 말고, 수정된 전체 코드를 출력해 주세요.

    이처럼 변경할 열 이름과 원하는 결과를 구체적으로 적으면 전체 코드를 다시 받을 수 있습니다. 고객명, 전화번호, 주문번호처럼 실제 업무 데이터는 함께 입력하지 않아도 됩니다.

    실무 적용 전 10행으로 먼저 시험하기

    자동화는 수백 행에 바로 적용하기보다 작은 표로 검증하는 것이 안전합니다. 아래 여섯 가지 상황을 포함한 테스트 데이터를 만들어 보십시오.

    1. 정상적으로 입력된 행
    2. 담당자 앞뒤에 공백이 있는 행
    3. 연락처에 하이픈이 없는 행
    4. 금액에 ‘원’과 쉼표가 포함된 행
    5. 상태가 비어 있는 행
    6. 접수번호가 중복된 두 행

    실행 후에는 단순히 화면만 보지 말고 다음 항목도 확인합니다.

    • 금액 셀을 선택했을 때 숫자로 인식되는지
    • 원래 정상인 값이 바뀌지 않았는지
    • 빈 행이나 제목 행까지 수정되지 않았는지
    • 중복 기준이 실제 업무 규칙과 일치하는지
    • 같은 스크립트를 두 번 실행해도 결과가 망가지지 않는지

    예를 들어 접수번호가 같더라도 접수일자가 다르면 정상으로 봐야 하는 회사가 있습니다. 이런 경우에는 접수번호만으로 중복을 판단하면 안 됩니다. ‘접수번호+접수일자’를 묶어 비교하도록 기준을 수정해야 합니다. 자동화의 정확도는 코드 길이보다 회사에서 실제로 사용하는 판단 기준을 얼마나 정확하게 반영했는지에 달려 있습니다.

    엑셀 파일로 다시 내려받는 방법

    정리한 결과를 사내 시스템에 업로드하거나 동료에게 엑셀 형식으로 전달해야 한다면 다음 순서로 저장합니다.

    1. Google 스프레드시트에서 파일을 누릅니다.
    2. 다운로드 → Microsoft Excel(.xlsx)을 선택합니다.
    3. 내려받은 파일을 열어 날짜, 금액, 수식 형식을 확인합니다.
    4. 원본과 구분되는 파일명으로 저장합니다.

    매크로가 포함된 엑셀 파일로 변환되는 것은 아닙니다. Apps Script는 Google 스프레드시트에서 실행되고, 내려받은 엑셀 파일에는 정리된 결과만 들어갑니다. 다음 날 새 데이터를 처리하려면 원래의 Google 스프레드시트에서 다시 실행해야 합니다.

    FAQ

    1. 고객 이름과 연락처가 포함된 파일을 Google 스프레드시트에 올려도 되나요?

    회사의 보안 규정과 개인정보 처리 기준을 먼저 확인해야 합니다. 고객명, 연락처, 주소, 사번, 급여 정보가 포함된 파일은 개인 판단으로 외부 클라우드에 업로드하지 않는 것이 안전합니다. 회사가 승인한 Google Workspace 계정과 저장 정책이 있는 경우에만 정해진 범위에서 사용하십시오. 승인 여부가 불분명하다면 가상의 데이터로 기능만 검증하고, 실제 적용 전 보안 담당자나 관리자에게 확인하는 방식이 적절합니다.

    2. 스크립트를 실행했는데 ‘필수 열을 찾을 수 없습니다’라는 메시지가 나옵니다.

    첫 번째 행의 제목이 코드와 정확히 일치하는지 확인하십시오. 코드가 ‘처리금액’을 찾도록 되어 있는데 파일에는 ‘처리 금액’ 또는 ‘결제금액’으로 적혀 있으면 다른 제목으로 인식합니다. 파일의 제목을 코드에 맞추거나, 코드의 headers.indexOf('처리금액') 부분을 실제 제목으로 변경하면 됩니다. 제목 앞뒤의 공백은 자동으로 제거하지만 띄어쓰기와 단어 자체의 차이는 구분합니다.

    3. 회사 엑셀 파일의 수식과 서식도 그대로 유지되나요?

    이 예제는 셀의 값을 읽어 정리한 뒤 다시 입력하는 방식입니다. 대상 범위 안에 복잡한 수식이 있으면 계산 결과가 값으로 바뀌거나, 업무 파일의 구조에 따라 예상하지 못한 변경이 생길 수 있습니다. 따라서 원본 복사본에서 먼저 실행하고, 자동화 대상 시트에는 가능한 한 원본 데이터 값만 두는 편이 안전합니다. 수식 열을 유지해야 한다면 데이터 입력 영역과 계산 영역을 분리하거나, 스크립트가 특정 열만 수정하도록 범위를 제한해야 합니다.


  • AI와 구글 스프레드시트로 업무 데이터 시각화 10분 만에 완성하기

    AI와 구글 스프레드시트로 업무 데이터 시각화 10분 만에 완성하기

    숫자만 가득한 보고용 표, 10분 안에 차트로 바꾸는 방법

    월요일 오전, 팀장에게 지난 6개월간의 매출 실적을 보고해야 하는 상황을 가정해 보겠습니다. 구글 스프레드시트에는 월별 매출과 목표가 정리되어 있지만, 숫자만 나열된 표로는 어느 달의 실적이 좋았는지 한눈에 파악하기 어렵습니다.

    매출 목표 실제 매출 광고비
    1월 45,000,000 42,000,000 5,500,000
    2월 47,000,000 49,000,000 6,000,000
    3월 50,000,000 53,000,000 6,800,000
    4월 52,000,000 48,000,000 6,200,000
    5월 55,000,000 58,000,000 7,100,000
    6월 58,000,000 64,000,000 7,800,000

    이럴 때 처음부터 AI에게 차트를 만들어 달라고 맡기기보다, 역할을 나누는 편이 빠르고 안정적입니다.

    • ChatGPT: 데이터 구조를 확인하고 적절한 차트와 계산식을 제안
    • 구글 스프레드시트: 실제 계산, 차트 생성, 공유와 수정 담당

    AI가 판단을 돕고, 스프레드시트가 결과물을 만드는 구조입니다. 파일 업로드나 복잡한 확장 프로그램 없이도 바로 따라 할 수 있습니다.

    1단계: 예제 데이터를 스프레드시트에 입력합니다

    새 구글 스프레드시트를 열고 A1 셀부터 아래 데이터를 붙여 넣습니다.

    월 매출 목표 실제 매출 광고비
    1월 45000000 42000000 5500000
    2월 47000000 49000000 6000000
    3월 50000000 53000000 6800000
    4월 52000000 48000000 6200000
    5월 55000000 58000000 7100000
    6월 58000000 64000000 7800000

    금액 열을 선택한 뒤 상단 메뉴에서 서식 → 숫자 → 맞춤 숫자 형식을 열고 천 단위 구분 형식을 적용합니다. 입력값 자체에 쉼표나 ‘원’을 직접 넣는 것보다 숫자 형식으로 처리해야 계산 오류를 줄일 수 있습니다.

    분석용 열 두 개를 추가합니다

    E1에는 달성률, F1에는 광고비 대비 매출을 입력합니다.

    E2 셀에는 다음 수식을 넣습니다.

    =IFERROR(C2/B2,0)

    F2 셀에는 다음 수식을 넣습니다.

    =IFERROR(C2/D2,0)

    E2와 F2의 오른쪽 아래 모서리를 아래로 끌어 6월 행까지 수식을 복사합니다. E열은 백분율 형식, F열은 소수점 한 자리 숫자 형식으로 바꾸면 됩니다.

    계산 결과는 다음과 비슷하게 나타납니다.

    달성률 광고비 대비 매출
    1월 93.3% 7.6배
    2월 104.3% 8.2배
    3월 106.0% 7.8배
    4월 92.3% 7.7배
    5월 105.5% 8.2배
    6월 110.3% 8.2배
    AI가 데이터 구조를 분석하고 스프레드시트에서 차트로 연결되는 흐름

    2단계: AI에게 ‘차트 제작’이 아니라 ‘차트 설계’를 맡깁니다

    많은 직장인이 AI에 표 전체를 붙여 넣은 뒤 “분석해 줘”라고만 입력합니다. 그러면 결과가 길어지거나, 어떤 차트를 만들어야 하는지 불분명한 답변이 나오기 쉽습니다.

    아래처럼 데이터의 목적과 필요한 결과 형식을 함께 지정해 보겠습니다.

    ChatGPT에 입력할 프롬프트

    아래는 1월부터 6월까지의 매출 목표, 실제 매출, 광고비 데이터입니다.

    이 데이터를 구글 스프레드시트에서 시각화하려고 합니다.
    보고 대상은 팀장이고, 확인하려는 내용은 다음 세 가지입니다.

    목표 대비 실제 매출 추이

    목표를 달성하지 못한 월

    광고비 증가와 매출 증가의 흐름

    다음 형식으로 답해 주세요.

    가장 적합한 차트 2개

    각 차트에 사용할 열

    구글 스프레드시트에서 선택할 차트 유형

    차트 제목

    색상이나 축 설정 시 주의할 점

    보고서에 넣을 3문장 요약

    데이터:
    월, 매출 목표, 실제 매출, 광고비
    1월, 45000000, 42000000, 5500000
    2월, 47000000, 49000000, 6000000
    3월, 50000000, 53000000, 6800000
    4월, 52000000, 48000000, 6200000
    5월, 55000000, 58000000, 7100000
    6월, 58000000, 64000000, 7800000

    AI가 제안하는 결과의 형태

    위와 같이 입력하면 대체로 다음과 같은 설계안을 얻을 수 있습니다.

    차트 1: 목표 대비 실제 매출 추이
    – 사용 열: 월, 매출 목표, 실제 매출
    – 차트 유형: 꺾은선형 차트
    – 제목: 2026년 상반기 목표 대비 매출 추이
    – 설정: 세로축의 최솟값을 0으로 지정하고 목표와 실제 매출을 서로 다른 선으로 표시

    차트 2: 광고비와 실제 매출 변화

    사용 열: 월, 광고비, 실제 매출

    차트 유형: 콤보 차트

    설정: 실제 매출은 막대, 광고비는 선으로 표시하고 광고비를 오른쪽 축에 배치

    보고용 요약
    상반기 실제 매출은 1월과 4월을 제외하고 목표를 초과했습니다. 6월 매출은 6,400만 원으로 가장 높았으며 목표 달성률은 약 110.3%입니다. 광고비가 증가한 기간에 매출도 대체로 상승했지만, 두 값만으로 광고비가 매출 상승의 직접적인 원인이라고 단정하기는 어렵습니다.

    여기서 주목할 부분은 마지막 문장입니다. 광고비와 매출이 함께 증가했다고 해서 광고비가 매출을 올렸다고 바로 결론 내리면 안 됩니다. AI에게 보고용 문장을 요청할 때는 상관관계와 인과관계를 구분해 달라는 조건을 넣는 것이 안전합니다.

    3단계: 구글 스프레드시트에서 첫 번째 차트를 만듭니다

    이제 AI의 제안대로 실제 차트를 생성합니다.

    1. A1부터 C7까지 선택합니다.
    2. 상단 메뉴에서 삽입 → 차트를 누릅니다.
    3. 오른쪽 차트 편집기의 설정에서 차트 유형을 꺾은선형 차트로 변경합니다.
    4. X축이 ‘월’, 계열이 ‘매출 목표’와 ‘실제 매출’인지 확인합니다.
    5. 맞춤설정 → 차트 및 축 제목에서 제목을 입력합니다.

    2026년 상반기 목표 대비 매출 추이

    차트가 이상하게 표시된다면 행/열 전환이 켜져 있는지 확인합니다. 월이 각각의 데이터 계열로 표시된다면 행과 열이 뒤바뀐 경우가 많습니다.

    목표 미달 월을 표에서도 바로 보이게 만듭니다

    차트만으로 끝내지 않고 조건부 서식을 함께 적용하면 보고자가 원본 데이터까지 빠르게 확인할 수 있습니다.

    1. C2:C7 범위를 선택합니다.
    2. 서식 → 조건부 서식을 누릅니다.
    3. 규칙에서 맞춤 수식을 선택합니다.
    4. 아래 수식을 입력합니다.

    =$C2<$B2

    배경색은 지나치게 강한 빨간색보다 연한 강조색을 선택하는 편이 좋습니다. 적용하면 목표보다 실제 매출이 낮은 1월과 4월 셀이 자동으로 표시됩니다.

    4단계: 광고비와 매출은 콤보 차트로 비교합니다

    광고비는 550만 원에서 780만 원, 매출은 4,200만 원에서 6,400만 원 수준입니다. 단위 차이가 커서 일반 막대 차트 하나에 넣으면 광고비가 거의 보이지 않을 수 있습니다.

    이럴 때는 콤보 차트와 보조축을 사용합니다.

    1. A1:A7을 선택한 상태에서 Ctrl 키를 누르고 C1:D7을 추가로 선택합니다.
    2. 삽입 → 차트를 누릅니다.
    3. 차트 유형을 콤보 차트로 변경합니다.
    4. 실제 매출 계열은 세로 막대로 설정합니다.
    5. 광고비 계열은 선으로 설정합니다.
    6. 맞춤설정 → 계열에서 광고비를 선택하고 축을 오른쪽 축으로 바꿉니다.

    차트 제목은 다음처럼 구체적으로 작성합니다.

    월별 광고비와 실제 매출 변화

    ‘매출 현황’처럼 넓은 제목보다 기간과 비교 항목을 제목에 넣어야 차트를 보고 바로 의미를 파악할 수 있습니다.

    업무 보고서에 매출 차트를 배치하고 검토하는 모습

    5단계: 완성된 차트를 보고용 문장으로 바꿉니다

    차트를 완성한 뒤에는 AI에게 처음 데이터를 다시 설명할 필요가 없습니다. 계산된 결과와 관찰한 사실만 전달해 보고 문장을 다듬습니다.

    입력 예시

    다음 내용을 팀장에게 보고할 수 있는 짧은 문장으로 정리해 주세요.
    과장된 표현은 쓰지 말고, 숫자가 확인되는 내용과 추가 확인이 필요한 내용을 구분해 주세요.

    1월 실제 매출 4,200만 원, 목표 달성률 93.3%

    4월 실제 매출 4,800만 원, 목표 달성률 92.3%

    6월 실제 매출 6,400만 원, 목표 달성률 110.3%

    광고비는 1월 550만 원에서 6월 780만 원으로 증가

    광고비와 매출이 전반적으로 함께 증가했지만 원인 관계는 확인하지 않음

    출력 형식:

    한 줄 결론

    확인된 사실 2문장

    다음에 확인할 항목 1문장

    결과 예시

    한 줄 결론: 상반기 매출은 1월과 4월의 목표 미달 이후 회복했으며, 6월에는 목표를 10.3% 초과했습니다.

    확인된 사실: 1월과 4월의 목표 달성률은 각각 93.3%, 92.3%였고, 6월 실제 매출은 6,400만 원으로 집계 기간 중 가장 높았습니다. 광고비는 1월 550만 원에서 6월 780만 원으로 증가했으며 매출도 전반적으로 상승했습니다.

    추가 확인: 광고비 증가가 매출 상승에 미친 영향을 판단하려면 캠페인별 전환율과 신규 고객 매출을 함께 확인해야 합니다.

    이렇게 작성하면 AI가 데이터를 근거로 결론을 정리하되, 확인하지 않은 원인을 임의로 만들어 내는 일을 줄일 수 있습니다.

    대부분 놓치는 부분: 원본 표와 차트용 표를 분리하세요

    실무에서는 원본 데이터 옆에 수식과 차트를 계속 추가하다가 표 구조가 복잡해지는 경우가 많습니다. 다음 달 데이터를 추가했는데 차트 범위가 늘어나지 않거나, 정렬 과정에서 수식이 어긋나는 문제도 발생합니다.

    조금 더 안정적으로 운영하려면 시트를 세 개로 나눕니다.

    시트 이름 역할 입력 원칙
    원본데이터 월별 실적 보관 숫자와 분류값만 입력
    분석 달성률과 효율 계산 수식과 보조 열 사용
    대시보드 차트와 보고 요약 배치 원본 수치를 직접 수정하지 않음

    처음에는 시트 하나로 시작해도 괜찮지만, 매달 반복해서 사용하는 문서라면 이 구조가 수정 실수를 줄여 줍니다. 특히 여러 부서가 함께 보는 파일에서는 원본 데이터의 편집 권한을 제한하고 대시보드만 공유하는 방식도 고려할 수 있습니다.

    AI 연동 과정에서 자주 발생하는 오류와 해결 방법

    오류 1. AI가 제안한 수식이 스프레드시트에서 오류로 표시됩니다

    지역 설정에 따라 함수의 인수 구분자가 쉼표가 아닌 세미콜론으로 표시되는 경우가 있습니다. 먼저 스프레드시트의 파일 → 설정 → 언어 및 지역을 확인합니다.

    또한 AI가 열 위치를 잘못 이해할 수 있으므로 “목표는 B열, 실제 매출은 C열”처럼 열 위치를 프롬프트에 함께 적는 편이 좋습니다.

    오류 2. 금액이 숫자가 아니라 텍스트로 인식됩니다

    셀에 ‘42,000,000원’처럼 단위까지 직접 입력하면 계산이나 차트 생성이 제대로 되지 않을 수 있습니다. 숫자만 입력한 뒤 표시 형식으로 원 단위를 적용합니다.

    숫자가 왼쪽 정렬되어 있거나 SUM 함수 결과가 0으로 나온다면 텍스트로 저장됐을 가능성이 있습니다. 해당 열을 선택하고 서식 → 숫자 → 숫자를 적용한 뒤 다시 확인합니다.

    오류 3. 차트에 새로 추가한 월이 반영되지 않습니다

    차트의 데이터 범위가 A1:C7처럼 고정되어 있다면 7월 데이터를 추가해도 자동으로 포함되지 않습니다. 차트 편집기에서 데이터 범위를 A:C처럼 열 전체로 지정하거나, 데이터가 누적될 때마다 범위를 확인합니다.

    다만 열 전체를 선택하면 빈 셀이나 중간 합계까지 포함될 수 있으므로, 실제 업무 문서에서는 원본 표 안에 합계 행을 섞지 않는 편이 안전합니다.

    오류 4. AI가 실제 데이터에 없는 내용을 분석합니다

    “매출 상승은 광고 성과 개선 때문이다”처럼 데이터만으로 확인할 수 없는 설명이 포함될 수 있습니다. 프롬프트에 다음 조건을 추가합니다.

    제공된 숫자로 직접 확인할 수 없는 원인은 추정하지 마세요. 추정이 필요한 내용은 ‘추가 확인 필요’로 구분해 주세요.

    10분 실행 순서 요약

    1. 0~2분: 월, 목표, 실적, 비용 데이터를 스프레드시트에 입력합니다.
    2. 2~4분: 달성률과 광고비 대비 매출 수식을 추가합니다.
    3. 4~6분: 데이터를 AI에 붙여 넣고 차트 종류와 보고 문장을 요청합니다.
    4. 6~8분: 꺾은선형 차트와 콤보 차트를 생성합니다.
    5. 8~10분: 목표 미달 조건부 서식과 보고용 요약을 완성합니다.

    데이터가 이미 정리되어 있다면 10분 안에도 충분히 가능합니다. 데이터가 여러 표에 흩어져 있거나 날짜·금액 형식이 제각각이라면 시각화보다 정리 작업에 시간이 더 필요할 수 있습니다.

    FAQ

    Q1. 회사 매출 데이터를 ChatGPT에 그대로 붙여 넣어도 되나요?

    사내 보안 규정과 사용 중인 AI 서비스의 데이터 처리 정책을 먼저 확인해야 합니다. 고객명, 거래처명, 직원 정보, 계약 금액처럼 외부 공개가 제한된 정보는 그대로 입력하지 않는 편이 안전합니다.

    연습이나 차트 설계가 목적이라면 실제 숫자를 일정 비율로 변환하거나, 거래처명을 A사·B사처럼 익명화해 입력할 수 있습니다. 구조만 필요한 경우에는 실제 데이터를 넣지 않고 “월, 목표 매출, 실제 매출, 광고비로 구성된 표”라고 설명해도 됩니다.

    Q2. AI가 추천한 차트가 항상 가장 적합한가요?

    AI의 추천은 시작점으로 활용해야 합니다. 보고 목적에 따라 같은 데이터도 다른 차트가 적합할 수 있습니다. 월별 변화를 보려면 꺾은선형 차트, 항목 간 크기를 비교하려면 막대 차트, 단위가 다른 두 지표를 함께 보려면 콤보 차트가 이해하기 쉽습니다.

    최종적으로는 차트를 처음 보는 동료가 5초 안에 비교 대상과 결론을 파악할 수 있는지 확인하는 것이 좋습니다.

    Q3. AI 확장 프로그램을 설치해야 자동화할 수 있나요?

    이 글의 방법은 별도 확장 프로그램 없이 사용할 수 있습니다. AI에는 차트 설계, 수식 제안, 보고 문장 정리를 맡기고 실제 계산과 차트 생성은 구글 스프레드시트에서 진행합니다.

    확장 프로그램은 반복 작업을 줄일 수 있지만, 회사 계정에서는 외부 서비스의 문서 접근 권한이 문제가 될 수 있습니다. 설치 전에는 관리자의 승인 여부, 접근 가능한 파일 범위, 데이터 저장 방식, 삭제 방법을 확인해야 합니다.


  • Asana와 Notion 연동하기: 업무 진행 상황과 협업 문서를 한 화면에서 관리하는 방법

    Asana와 Notion 연동하기: 업무 진행 상황과 협업 문서를 한 화면에서 관리하는 방법

    업무는 Asana에 있는데, 회의할 때마다 Notion을 다시 정리하고 있다면 ( ( (자세히 보기)자세히 보기)자세히 보기)

    프로젝트 담당자가 금요일 오후 주간회의를 준비하는 장면을 떠올려 보겠습니다. Asana에는 담당자와 마감일이 정리되어 있지만, 회의 자료는 Notion에 있습니다. 담당자는 두 도구를 번갈아 열어 다음 내용을 다시 적습니다.

    Asana 원본
    상세페이지 초안 작성 · 담당: 콘텐츠팀 · 마감: 7월 24일 · 상태: 진행 중

    Notion에 다시 입력한 내용
    상세페이지 초안 작성은 현재 진행 중이며 7월 24일까지 완료할 예정입니다.

    문제는 입력 시간이 아닙니다. Asana에서 마감일이나 상태가 바뀌면 Notion에 옮겨 적은 정보는 곧바로 오래된 정보가 됩니다. 회의 참석자는 어느 쪽이 최신인지 다시 확인해야 합니다.

    이럴 때 두 도구의 역할을 합치기보다 명확히 나누는 편이 효과적입니다.

    • Asana: 담당자, 마감일, 진행 상태처럼 계속 변하는 실행 정보
    • Notion: 회의록, 의사결정 배경, 업무 지침처럼 맥락이 필요한 문서

    Notion의 Asana 연동 기능을 사용하면 Asana 프로젝트와 작업을 Notion에서 링크 미리보기 또는 동기화된 데이터베이스 형태로 확인할 수 있습니다. 반대 방향으로는 Asana 규칙을 이용해 특정 조건에서 Notion 페이지를 만들고 해당 페이지를 Asana 작업에 연결하는 방식도 지원됩니다. 다만 회사 요금제와 관리자 설정에 따라 표시되는 기능이 다를 수 있으므로 실제 적용 전에 팀 워크스페이스에서 확인해야 합니다.

    먼저 정해야 할 운영 원칙: 업무 상태는 Asana만 수정합니다

    연동 전에 팀원들과 다음 한 문장부터 합의하는 것이 좋습니다.

    “업무 상태와 마감일은 Asana에서만 수정하고, Notion은 현황 조회와 회의 기록에 사용한다.”

    이 원칙이 없으면 같은 업무를 Asana와 Notion에서 각각 수정하게 됩니다. 연동은 되었지만 어느 데이터가 기준인지 모르는 상황이 생길 수 있습니다.

    예를 들어 신제품 출시 프로젝트를 다음과 같이 나눌 수 있습니다.

    관리 항목 기준 도구 예시
    담당자와 마감일 Asana 광고 소재 검수 · 마감 7월 25일
    진행 상태 Asana 대기, 진행 중, 검토 중, 완료
    회의록 Notion 7월 22일 출시 점검회의
    업무 배경과 결정 사항 Notion 광고 문구 변경 이유, 승인 기준
    실행 업무 연결 두 도구 연동 회의록에서 Asana 작업 현황 확인

    방법 1. Asana 프로젝트를 Notion 회의 페이지에 연결하기

    가장 먼저 적용하기 좋은 방식입니다. Notion의 주간회의 페이지에서 Asana 프로젝트의 최신 작업을 확인하도록 구성합니다.

    1단계: Asana에서 연결할 프로젝트를 정리합니다

    Asana에서 연동할 프로젝트를 열고 작업 이름, 담당자, 마감일, 상태를 확인합니다. 처음부터 모든 프로젝트를 연결하지 말고, 현재 진행 중인 프로젝트 하나로 시험하는 편이 안전합니다.

    예시 프로젝트는 다음과 같습니다.

    작업 담당 마감일 상태
    제품 소개 문구 확정 마케팅팀 7월 23일 검토 중
    상세페이지 이미지 제작 디자인팀 7월 25일 진행 중
    판매 페이지 등록 운영팀 7월 28일 대기

    2단계: Asana 프로젝트 링크를 복사합니다

    1. Asana에서 연결할 프로젝트를 엽니다.
    2. 브라우저 주소창의 프로젝트 주소를 복사합니다.
    3. 개별 작업만 보여주려면 해당 작업을 열어 작업 주소를 복사합니다.

    3단계: Notion 페이지에 링크를 붙여넣습니다

    1. Notion에서 ‘신제품 출시 주간회의’ 페이지를 엽니다.
    2. ‘실행 현황’이라는 제목을 만듭니다.
    3. 복사한 Asana 링크를 빈 줄에 붙여넣습니다.
    4. 표시되는 선택지에서 미리보기 또는 데이터베이스 형태의 연결 방식을 선택합니다.
    5. 처음 연결하는 경우 Asana 계정 로그인과 접근 권한 승인을 진행합니다.

    계정 연결이 완료되면 단순한 인터넷 주소 대신 프로젝트명이나 작업 상태를 확인할 수 있는 형태로 표시됩니다. Notion에서 제공하는 Asana 연동은 프로젝트와 작업의 상태를 링크 미리보기로 확인하거나, 동기화된 데이터베이스에서 필터와 보기를 적용하는 용도로 사용할 수 있습니다.

    Asana의 업무 정보가 Notion 대시보드로 연결되는 흐름

    4단계: 회의용 화면으로 필터링합니다

    연동한 데이터를 모두 보여주면 회의 페이지가 복잡해집니다. 회의에서 확인할 항목만 남기는 것이 좋습니다.

    예를 들어 다음 조건으로 보기를 구성합니다.

    • 상태가 ‘완료’가 아닌 작업
    • 마감일이 이번 주 안에 있는 작업
    • 우선순위가 ‘높음’인 작업

    그 결과, Notion 회의 페이지에는 다음 두 작업만 남습니다.

    이번 주 확인 대상

    ① 제품 소개 문구 확정 · 7월 23일 · 검토 중
    ② 상세페이지 이미지 제작 · 7월 25일 · 진행 중

    이제 회의 진행자는 전체 업무를 읽는 대신 지연 가능성이 있는 작업만 확인할 수 있습니다. 회의 중 상태가 바뀌었다면 Notion에 다시 적지 않고 Asana 원본을 수정합니다.

    방법 2. Asana 작업에서 Notion 문서를 바로 열기

    두 번째 방식은 실행 담당자가 Asana를 보다가 필요한 기획서나 회의록을 바로 여는 구조입니다.

    예를 들어 Asana에 ‘제품 소개 문구 확정’이라는 작업이 있고, 실제 문구 작성 기준은 Notion의 ‘신제품 메시지 가이드’ 페이지에 있다고 가정하겠습니다.

    직접 연결하는 기본 방법

    1. Notion에서 연결할 문서 페이지를 엽니다.
    2. 페이지의 공유 메뉴에서 링크를 복사합니다.
    3. Asana에서 관련 작업을 엽니다.
    4. 작업 설명 또는 관련 링크 영역에 Notion 주소를 붙여넣습니다.
    5. 링크 옆에 용도를 적습니다. 예: ‘문구 작성 기준 문서’

    연결 전에는 담당자가 메신저에서 기획서를 검색해야 했지만, 연결 후에는 Asana 작업 안에서 바로 문서를 열 수 있습니다.

    연결 전
    “지난주에 공유한 문구 기준 문서가 어디에 있나요?”

    연결 후
    Asana 작업 열기 → ‘문구 작성 기준 문서’ 선택 → Notion 문서 확인

    Asana 규칙으로 Notion 페이지 생성을 자동화하는 방법

    반복 프로젝트에서는 Asana의 규칙 기능을 이용할 수 있습니다. 예를 들어 작업이 ‘기획 확정’ 섹션으로 이동하면 Notion 페이지를 만들도록 설정하는 방식입니다.

    1. Asana 프로젝트에서 사용자 지정 또는 규칙 메뉴를 엽니다.
    2. 새 규칙 만들기를 선택합니다.
    3. 트리거를 ‘작업이 특정 섹션으로 이동했을 때’로 설정합니다.
    4. 대상 섹션을 ‘기획 확정’으로 지정합니다.
    5. 작업 항목에서 Notion 페이지 생성과 관련된 옵션을 선택합니다.
    6. 페이지를 생성할 Notion 위치와 사용할 문서 양식을 지정합니다.
    7. 테스트용 작업 하나를 이동해 페이지 생성 여부를 확인합니다.

    Asana 공식 도움말에 따르면 특정 작업이 섹션으로 이동하는 등의 조건을 기준으로 Notion 페이지를 자동 생성하고, 생성된 페이지를 관련 Asana 작업에 추가하는 흐름을 구성할 수 있습니다. 해당 기능은 계정과 요금제, 조직 관리자의 앱 허용 정책에 따라 이용 가능 여부가 달라질 수 있습니다.

    AI를 더하는 방법: 회의록에서 실행 업무만 추출하기

    Asana와 Notion을 연결했다고 해서 모든 업무가 자동으로 정리되는 것은 아닙니다. 실제로 시간이 많이 드는 구간은 회의록에 섞여 있는 결정 사항과 실행 업무를 구분하는 과정입니다.

    Notion에 회의 내용을 기록한 뒤 회사에서 사용이 허용된 AI 도구에 다음과 같이 입력할 수 있습니다.

    실제 입력 예시

    입력

    아래 회의록에서 실행이 필요한 업무만 추출해 주세요.
    결과는 ‘업무명 / 담당 부서 / 마감일 / 완료 조건’ 표로 작성하세요.
    담당자나 날짜가 없는 항목은 추측하지 말고 ‘확인 필요’라고 표시하세요.

    [회의록]
    상세페이지의 제품 사진이 어둡다는 의견이 나왔다. 디자인팀에서 밝기를 조정한 시안을 금요일까지 다시 공유한다. 제품 소개 문구는 법무 검토 후 확정한다. 검토 일정은 아직 정하지 않았다. 운영팀은 다음 주 월요일까지 판매 페이지 초안을 등록한다.

    AI 결과 예시

    업무명 담당 부서 마감일 완료 조건
    제품 사진 밝기 조정 디자인팀 금요일 수정 시안 공유
    제품 소개 문구 법무 검토 확인 필요 확인 필요 법무 검토 완료
    판매 페이지 초안 등록 운영팀 다음 주 월요일 초안 등록 완료

    이 표를 그대로 Asana에 등록하기 전에 ‘금요일’과 ‘다음 주 월요일’을 실제 날짜로 바꾸고 담당자를 확인합니다. AI가 만든 결과는 업무 등록 초안으로 사용하고, 최종 담당자와 기한은 회의 참석자가 검토해야 합니다.

    회의 내용을 확인하며 담당 업무와 마감일을 정리하는 팀원들

    협업이 실제로 어떻게 달라지는가

    연동 전에는 주간회의 준비가 다음 순서로 진행됩니다.

    1. Asana에서 진행 중인 작업을 찾습니다.
    2. 담당자와 마감일을 Notion 회의록에 다시 적습니다.
    3. 메신저에서 관련 문서 주소를 검색합니다.
    4. 회의 후 결정된 업무를 다시 Asana에 등록합니다.

    연동 후에는 흐름이 단순해집니다.

    1. Notion 회의 페이지에서 연결된 Asana 현황을 확인합니다.
    2. 지연 작업과 이번 주 마감 작업만 필터링합니다.
    3. 각 Asana 작업에서 연결된 Notion 문서를 엽니다.
    4. 회의록을 AI로 정리한 뒤 검토된 실행 항목만 Asana에 등록합니다.

    여기서 많은 팀이 놓치는 부분은 연동 개수보다 수정 권한과 원본 위치를 명확히 정하는 것입니다. 모든 정보를 양쪽에서 수정할 수 있게 만들면 편리해 보이지만, 실제로는 중복 입력과 상태 충돌이 늘어납니다.

    업무 상태는 Asana, 업무 맥락은 Notion이라는 기준을 유지하면 각 도구의 장점을 살리면서도 회의 준비와 자료 검색 과정을 줄일 수 있습니다.

    직장 환경에서 안전하게 적용하는 점검표

    외부 서비스 연동은 편의성뿐 아니라 접근 권한도 함께 검토해야 합니다. 다음 항목을 확인한 뒤 연결하는 것이 좋습니다.

    • 회사에서 Asana와 Notion 사용을 공식적으로 허용하는지 확인합니다.
    • 관리자의 승인 없이 개인 계정과 회사 워크스페이스를 연결하지 않습니다.
    • 전체 워크스페이스 대신 업무에 필요한 프로젝트와 페이지만 연결합니다.
    • 주민등록번호, 계좌번호, 고객 연락처, 인사평가 자료는 연동 대상에서 제외합니다.
    • 퇴사자나 부서 이동자의 접근 권한을 정기적으로 회수합니다.
    • AI에 회의록을 입력할 때 고객명, 계약 금액, 내부 계정 정보 등 민감정보를 제거합니다.
    • 연동 테스트는 실제 고객 데이터가 아닌 예시 프로젝트에서 먼저 진행합니다.

    특히 Notion 페이지 링크가 있다고 해서 모든 사람이 내용을 볼 수 있는 것은 아니며, 반대로 공유 범위를 넓게 설정하면 의도하지 않은 인원이 접근할 수 있습니다. 링크 연결 후에는 팀원이 실제로 열 수 있는지뿐 아니라, 열어서는 안 되는 인원에게 노출되지 않는지도 확인해야 합니다.

    처음 도입할 때는 한 프로젝트만 시험하세요

    처음부터 전사 프로젝트를 연결하면 권한 문제와 중복 데이터가 한꺼번에 발생할 수 있습니다. 아래 순서로 작은 범위에서 시험하는 편이 현실적입니다.

    1. 진행 중인 내부 프로젝트 하나를 선택합니다.
    2. Asana에는 담당자, 마감일, 상태만 정리합니다.
    3. Notion에는 회의록과 결정 사항을 정리합니다.
    4. Notion 회의 페이지에 Asana 프로젝트를 연결합니다.
    5. Asana 작업 세 개에 관련 Notion 문서를 연결합니다.
    6. 일주일 동안 중복 입력과 권한 문제를 기록합니다.
    7. 문제가 없으면 다음 프로젝트로 확대합니다.

    도입 성공 여부는 연결 버튼이 작동하는지가 아니라 다음 질문으로 판단할 수 있습니다.

    “회의 전에 진행 상태를 다시 옮겨 적지 않아도 되는가?”
    “담당자가 업무 화면에서 필요한 문서를 바로 찾을 수 있는가?”
    “팀원들이 어느 도구의 정보를 수정해야 하는지 알고 있는가?”

    세 질문에 모두 그렇다고 답할 수 있다면 Asana와 Notion이 단순히 연결된 상태를 넘어, 실제 업무 흐름 안에서 작동하고 있는 것입니다.

    자주 묻는 질문

    1. Asana와 Notion을 연결하면 모든 내용이 자동으로 양방향 동기화되나요?

    연결 방식에 따라 다릅니다. Asana 작업을 Notion에서 미리 보거나 동기화된 데이터베이스로 조회하는 기능과, Asana 규칙을 통해 Notion 페이지를 생성하는 기능은 목적이 서로 다릅니다. 모든 필드가 양쪽에서 동일하게 수정된다고 가정하면 안 됩니다. 실제 사용 전 테스트 작업을 만들어 상태, 담당자, 마감일 중 어떤 항목이 반영되는지 확인해야 합니다.

    2. 회사 자료를 개인 Notion 계정에 연결해도 되나요?

    회사 승인 없이 연결하지 않는 편이 안전합니다. 개인 계정은 퇴사, 계정 분실, 공유 설정 오류가 발생했을 때 회사가 권한을 통제하기 어렵습니다. 회사 워크스페이스와 승인된 계정을 사용하고, 고객정보나 인사자료처럼 민감한 내용은 연동 대상에서 제외해야 합니다.

    3. AI로 회의록을 정리한 결과를 바로 Asana에 등록해도 되나요?

    바로 등록하기보다 담당자, 실제 날짜, 완료 조건을 사람이 확인해야 합니다. AI는 회의록에 없는 담당자나 일정을 정확히 알 수 없습니다. 프롬프트에 ‘정보가 없으면 추측하지 말고 확인 필요라고 표시하라’고 지시하고, 사내 규정상 허용된 AI 도구에 비식별화한 내용만 입력하는 것이 좋습니다.


  • AI로 엑셀 매크로 만들기: 반복 보고서 정리를 자동화하는 실전 가이드

    AI로 엑셀 매크로 만들기: 반복 보고서 정리를 자동화하는 실전 가이드

    매주 같은 엑셀 작업, AI에게 코드 초안을 맡겨보세요

    매주 월요일마다 지난주 실적 파일을 열고, 날짜 형식을 맞추고, 금액에 쉼표를 넣고, 빈칸을 찾고, 보고용 시트를 따로 만드는 업무가 있다고 가정해보겠습니다.

    한 번 처리하는 데 10분 정도라면 큰 부담처럼 보이지 않습니다. 하지만 매주 반복하면 1년에 약 8시간이 들고, 파일이 여러 개라면 소요 시간은 더 늘어납니다. 더 큰 문제는 단순 작업일수록 집중력이 떨어져 누락이나 서식 오류가 발생하기 쉽다는 점입니다.

    이럴 때 활용할 수 있는 것이 엑셀 매크로입니다. 다만 VBA 문법을 처음부터 공부하려고 하면 시작 단계에서 막히기 쉽습니다. 현실적인 접근은 ChatGPT 같은 AI 도구에 업무 절차를 설명하고, 실행 가능한 (자세히 보기) (자세히 보기) (자세히 보기) (자세히 보기) VBA 코드 초안을 받은 뒤 작은 복사본 파일에서 검증하는 것입니다.

    이번 글에서는 단순히 “매크로는 반복 작업을 자동화합니다”라고 설명하지 않습니다. 실제 업무 장면을 기준으로 프롬프트를 작성하고, 코드를 엑셀에 넣고, 오류를 수정하고, 자동화 성과를 측정하는 과정까지 순서대로 진행합니다.

    실전 사례: 원본 데이터를 보고용 시트로 자동 정리하기

    다음과 같은 엑셀 파일을 매주 정리한다고 가정하겠습니다.

    내용 반복 작업
    A열 처리일자 날짜 형식을 yyyy-mm-dd로 통일
    B열 담당부서 앞뒤 공백 제거
    C열 처리건수 숫자 형식 적용
    D열 처리금액 천 단위 쉼표와 원 표시 적용

    기존에는 원본 시트를 복사한 뒤 열 너비를 조정하고, 제목 행을 굵게 표시하고, 빈칸이 있는 행을 확인했습니다. 이번에는 이 작업을 버튼 한 번으로 처리하는 매크로를 만들겠습니다.

    AI에게 바로 코드를 요청하지 말고 업무 절차부터 적기

    “엑셀 매크로 만들어줘”라고만 입력하면 AI는 현재 파일의 시트 이름, 열 구조, 예외 상황을 알 수 없습니다. 그 결과 실제 파일에 맞지 않는 코드가 나올 가능성이 큽니다.

    좋은 요청문에는 최소한 다음 정보가 포함되어야 합니다.

    • 원본 시트와 결과 시트의 이름
    • 데이터가 들어 있는 열과 시작 행
    • 자동으로 처리할 작업 순서
    • 기존 결과 시트가 있을 때 처리 방법
    • 원본 데이터를 변경해도 되는지 여부

    ChatGPT에는 다음과 같이 입력할 수 있습니다.

    입력 예시

    엑셀 VBA 매크로를 작성해 주세요.

    현재 파일에는 ‘원본’ 시트가 있고, 1행은 제목이며 데이터는 A열부터 D열까지 있습니다. A열은 처리일자, B열은 담당부서, C열은 처리건수, D열은 처리금액입니다.

    매크로를 실행하면 ‘보고용’ 시트를 새로 만들거나, 이미 있으면 기존 내용을 지운 뒤 원본 데이터를 복사해 주세요. 원본 시트는 수정하지 마세요.

    보고용 시트에서는 A열 날짜 형식을 yyyy-mm-dd로 바꾸고, B열의 앞뒤 공백을 제거하고, C열은 숫자 형식, D열은 천 단위 쉼표와 원 표시 형식으로 설정해 주세요. 제목 행은 굵게 표시하고 배경색을 넣고, 전체 열 너비는 자동 조정해 주세요.

    A열부터 D열 중 빈칸이 있는 행은 연한 노란색으로 표시해 주세요. 시트가 없거나 데이터가 없을 때는 오류 메시지를 보여주도록 작성해 주세요. 초보자가 붙여 넣어 실행할 수 있는 완성된 코드로 제공해 주세요.

    이 요청문의 장점은 업무 담당자가 실제로 확인해야 할 조건을 코드 생성 전에 명확하게 정리한다는 점입니다. 특히 “원본 시트는 수정하지 않는다”는 문장은 실무 파일의 훼손 가능성을 줄이는 중요한 조건입니다.

    원본 데이터가 자동으로 보고용 시트로 정리되는 흐름

    바로 실행할 수 있는 엑셀 VBA 코드

    아래 코드는 앞서 설명한 업무를 기준으로 작성한 예시입니다. 시트 이름과 열 위치가 동일하다면 복사해서 사용할 수 있습니다.

    Option Explicit Sub 보고용시트_자동정리() Dim wb As Workbook Dim wsSource As Worksheet Dim wsReport As Worksheet Dim lastRow As Long Dim checkRange As Range Dim rowRange As Range Dim cell As Range Dim hasBlank As Boolean Set wb = ThisWorkbook ' 1. 원본 시트 확인 On Error Resume Next Set wsSource = wb.Worksheets("원본") On Error GoTo 0 If wsSource Is Nothing Then MsgBox "'원본' 시트를 찾을 수 없습니다.", vbExclamation Exit Sub End If ' 2. 마지막 데이터 행 확인 lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row If lastRow < 2 Then MsgBox "원본 시트에 처리할 데이터가 없습니다.", vbInformation Exit Sub End If Application.ScreenUpdating = False On Error GoTo ErrorHandler ' 3. 보고용 시트 생성 또는 초기화 On Error Resume Next Set wsReport = wb.Worksheets("보고용") On Error GoTo ErrorHandler If wsReport Is Nothing Then Set wsReport = wb.Worksheets.Add(After:=wsSource) wsReport.Name = "보고용" Else wsReport.Cells.Clear End If ' 4. 원본 데이터를 값으로 복사 wsReport.Range("A1:D" & lastRow).Value = _ wsSource.Range("A1:D" & lastRow).Value ' 5. 담당부서 앞뒤 공백 제거 For Each cell In wsReport.Range("B2:B" & lastRow) If Not IsError(cell.Value) Then cell.Value = Trim(CStr(cell.Value)) End If Next cell ' 6. 열별 표시 형식 설정 wsReport.Range("A2:A" & lastRow).NumberFormat = "yyyy-mm-dd" wsReport.Range("C2:C" & lastRow).NumberFormat = "#,##0" wsReport.Range("D2:D" & lastRow).NumberFormat = "#,##0""원""" ' 7. 제목 행 서식 With wsReport.Range("A1:D1") .Font.Bold = True .Interior.Color = RGB(217, 225, 242) .HorizontalAlignment = xlCenter End With ' 8. 빈칸이 있는 행 표시 Set checkRange = wsReport.Range("A2:D" & lastRow) For Each rowRange In checkRange.Rows hasBlank = False For Each cell In rowRange.Cells If Trim(CStr(cell.Value)) = "" Then hasBlank = True Exit For End If Next cell If hasBlank Then rowRange.Interior.Color = RGB(255, 242, 204) End If Next rowRange ' 9. 표 테두리와 열 너비 설정 With wsReport.Range("A1:D" & lastRow) .Borders.LineStyle = xlContinuous .Borders.Weight = xlThin End With wsReport.Columns("A:D").AutoFit wsReport.Activate wsReport.Range("A1").Select Application.ScreenUpdating = True MsgBox "보고용 시트 정리가 완료되었습니다." & vbCrLf & _ "처리 행 수: " & lastRow - 1 & "건", vbInformation Exit Sub ErrorHandler: Application.ScreenUpdating = True MsgBox "매크로 실행 중 오류가 발생했습니다." & vbCrLf & _ "오류 내용: " & Err.Description, vbCritical End Sub

    코드가 실제로 처리하는 결과

    원본 시트에 다음과 같은 데이터가 있다고 가정하겠습니다.

    처리일자 담당부서 처리건수 처리금액
    2026/07/01 영업1팀 1250 3850000
    2026/07/02 생산관리팀 980 2750000
    2026/07/03 1140 3210000

    매크로를 실행하면 ‘보고용’ 시트에는 다음과 같은 변화가 적용됩니다.

    • 2026/07/012026-07-01 형식으로 표시됩니다.
    • 영업1팀 의 앞뒤 공백이 제거되어 영업1팀으로 정리됩니다.
    • 38500003,850,000원으로 표시됩니다.
    • 담당부서가 비어 있는 세 번째 데이터 행은 연한 노란색으로 표시됩니다.
    • 제목 행, 테두리, 열 너비가 보고용 형태로 자동 정리됩니다.

    여기서 주목할 부분은 AI가 단순히 서식을 바꾸는 코드만 만든 것이 아니라, 데이터가 없거나 시트 이름이 잘못된 상황까지 확인하도록 요청했다는 점입니다. 실무 자동화에서는 정상적인 상황보다 예외 상황을 어떻게 처리하는지가 안정성을 좌우합니다.

    엑셀에 매크로를 넣고 실행하는 순서

    1단계: 반드시 복사본 파일에서 시작하기

    현재 사용 중인 업무 파일을 바로 수정하지 마세요. 먼저 파일을 복사한 뒤 파일명에 ‘테스트’를 붙입니다.

    예를 들어 원본 파일이 주간처리실적.xlsx라면 다음과 같이 복사합니다.

    주간처리실적_매크로테스트.xlsm

    매크로가 포함된 파일은 일반적인 .xlsx가 아니라 .xlsm 형식으로 저장해야 합니다. 엑셀의 ‘다른 이름으로 저장’ 메뉴에서 ‘Excel 매크로 사용 통합 문서’를 선택하면 됩니다. (자세히 보기)

    2단계: VBA 편집기에 코드 붙여 넣기

    1. 엑셀에서 테스트 파일을 엽니다.
    2. Alt + F11을 눌러 VBA 편집기를 엽니다.
    3. 상단 메뉴에서 ‘삽입 → 모듈’을 선택합니다.
    4. 새로 열린 모듈 창에 코드를 붙여 넣습니다.
    5. Ctrl + S로 저장합니다.
    6. 엑셀 화면으로 돌아와 Alt + F8을 누릅니다.
    7. 보고용시트_자동정리를 선택하고 ‘실행’을 누릅니다.

    3단계: 결과를 눈으로 대조하기

    매크로가 정상 종료되었다는 메시지가 나와도 바로 실무에 적용하지 않는 편이 안전합니다. 최소한 다음 항목을 확인해야 합니다.

    • 원본 시트의 값이 변경되지 않았는가
    • 원본 행 수와 보고용 시트의 행 수가 같은가
    • 날짜가 실제 날짜와 다르게 변환되지 않았는가
    • 처리금액의 소수점이나 음수 값이 손실되지 않았는가
    • 빈칸 표시 대상이 정확한가

    예를 들어 원본 데이터가 327행이라면, 보고용 시트도 제목 행을 제외하고 327행이어야 합니다. 행 개수가 다르다면 코드를 계속 사용하지 말고 원인을 먼저 확인해야 합니다.

    자동화 결과와 원본 엑셀 데이터를 대조하는 업무 장면

    오류가 발생하면 AI에 이렇게 피드백하세요

    AI가 처음 작성한 코드가 모든 엑셀 파일에서 바로 작동하는 것은 아닙니다. 시트 구조, 병합 셀, 날짜 저장 방식, 회사에서 사용하는 엑셀 버전에 따라 수정이 필요할 수 있습니다.

    이때 “코드가 안 돼요”라고만 입력하면 정확한 수정안을 받기 어렵습니다. 오류가 발생한 위치와 실제 증상을 함께 전달해야 합니다.

    오류 수정 요청 예시

    앞서 작성한 VBA 코드를 실행했더니 ‘런타임 오류 13: 형식이 일치하지 않습니다’라는 메시지가 나옵니다.

    오류가 발생한 줄은 다음 부분입니다.

    If Trim(CStr(cell.Value)) = "" Then

    원본 데이터에는 일반 값뿐 아니라 수식 오류인 #N/A도 포함되어 있습니다. #N/A 셀이 있어도 매크로가 중단되지 않고, 해당 행을 노란색으로 표시하도록 코드를 수정해 주세요. 기존 기능은 유지하고 수정된 전체 코드를 다시 제공해 주세요.

    이처럼 오류 메시지, 오류가 발생한 코드 줄, 데이터의 특성을 함께 입력하면 AI가 원인을 좁히기 쉬워집니다. 수정된 코드 일부만 받기보다 “전체 코드를 다시 제공해 달라”고 요청하면 초보자도 교체 과정에서 실수할 가능성을 줄일 수 있습니다.

    대부분 놓치는 단계: 자동화 전후 성과를 숫자로 남기기

    매크로가 실행된다는 사실만으로 업무 개선이 끝나는 것은 아닙니다. 실제로 시간이 줄었는지, 오류가 감소했는지 확인해야 다음 업무에도 자동화를 확대할 근거가 생깁니다.

    다음과 같은 간단한 기록표를 만들어 보세요.

    측정 항목 자동화 전 자동화 후 확인 방법
    작업 시간 평균 12분 평균 2분 작업 시작·종료 시각 기록
    서식 누락 월 3건 월 0건 최종 검토 결과 기록
    빈칸 발견 수작업 확인 자동 색상 표시 표시 행과 원본 대조
    수정 요청 월 2회 월 1회 이하 보고서 반려 횟수 기록

    작업 시간이 12분에서 2분으로 줄었다면 단순히 “편해졌다”가 아니라 회당 10분이 절감된 것입니다. 주 1회 실행하면 연간 약 8시간, 주 5회 실행하면 연간 약 43시간을 줄일 수 있습니다. 다만 이 수치는 실제 작업 빈도와 검토 시간에 따라 달라지므로, 각자의 업무 기록으로 계산해야 합니다.

    자동화 후에도 처음 2~4주는 결과를 계속 대조하는 편이 좋습니다. 데이터 구조가 바뀌거나 새 열이 추가되면 기존 매크로가 일부 데이터를 누락할 수 있기 때문입니다.

    사내 업무에 적용할 때 지켜야 할 안전 원칙

    회사 자료를 AI에 입력할 때는 코드 작성보다 정보 보호를 먼저 고려해야 합니다. 고객명, 주민등록번호, 연락처, 계약금액, 사번, 계좌번호, 미공개 실적처럼 외부 전송이 제한될 수 있는 정보는 그대로 입력하지 않는 것이 안전합니다.

    AI에게 필요한 것은 실제 데이터가 아니라 파일 구조와 처리 규칙인 경우가 많습니다. 다음과 같이 가상의 항목으로 바꿔도 충분히 코드를 만들 수 있습니다.

    • 실제 거래처명 → 거래처A, 거래처B
    • 실제 직원 이름 → 담당자1, 담당자2
    • 실제 매출액 → 1000000, 2000000 같은 예시 금액
    • 실제 파일명 → 원본자료.xlsx
    • 실제 부서명 → 영업팀, 관리팀 같은 일반 명칭

    또한 인터넷에서 받은 매크로 파일이나 출처를 확인할 수 없는 코드는 바로 실행하지 마세요. VBA 코드는 파일 삭제, 외부 프로그램 실행, 다른 문서 변경과 같은 작업도 수행할 수 있습니다. 코드를 검토하기 어렵다면 사내 전산 담당자나 엑셀 관리 담당자에게 확인을 요청하는 것이 적절합니다.

    다음 자동화로 확장하는 방법

    이번 예제가 정상적으로 작동한다면 동일한 방식으로 다음 업무도 자동화할 수 있습니다.

    • 매일 내려받은 실적 파일에서 필요한 열만 추출하기
    • 부서별 데이터를 각각의 시트로 분리하기
    • 여러 시트의 월별 실적을 하나의 요약표로 합치기
    • 마감일이 지난 행을 자동으로 표시하기
    • 보고서 출력 영역과 인쇄 방향을 자동 설정하기

    처음부터 여러 기능을 한 코드에 넣기보다 ‘복사’, ‘서식 정리’, ‘빈칸 표시’처럼 작은 단위로 나누어 검증하는 편이 좋습니다. 작은 자동화가 안정적으로 작동한 뒤 기능을 추가하면 오류가 생겼을 때 원인을 찾기 쉽습니다.

    FAQ

    Q1. 회사 데이터를 ChatGPT에 그대로 붙여 넣어도 되나요?

    사내 보안 규정과 회사에서 승인한 AI 사용 정책을 먼저 확인해야 합니다. 고객 정보, 개인정보, 계약 조건, 미공개 실적과 같은 자료는 그대로 입력하지 않는 것이 안전합니다. 코드 작성이 목적이라면 실제 값 대신 가상의 데이터와 열 구조만 제공해도 대부분의 매크로 초안을 만들 수 있습니다.

    Q2. 매크로를 실행했는데 엑셀에서 보안 경고가 표시됩니다.

    매크로가 포함된 파일을 열면 엑셀에서 보안 경고가 나타날 수 있습니다. 본인이 작성하거나 신뢰할 수 있는 담당자가 검토한 파일인지 확인한 뒤 실행해야 합니다. 출처가 불분명한 파일의 ‘콘텐츠 사용’을 무조건 허용해서는 안 됩니다. 회사 PC라면 보안 설정을 임의로 변경하지 말고 전산 담당자의 지침을 따르세요.

    Q3. AI가 만든 코드가 잘못된 값을 만들 수도 있나요?

    가능합니다. AI가 만든 코드는 초안으로 보고 복사본 파일에서 검증해야 합니다. 원본과 결과의 행 수, 합계, 날짜, 빈칸, 음수, 수식 오류를 대조하고 처음 몇 주 동안은 사람이 최종 확인하는 절차를 유지하세요. 파일 구조가 바뀌었을 때는 기존 매크로를 그대로 실행하지 말고 코드의 범위와 열 위치를 다시 확인해야 합니다.


  • 직장인 일정 관리, AI로 하루 업무 스케줄을 현실적으로 최적화하는 방법

    직장인 일정 관리, AI로 하루 업무 스케줄을 현실적으로 최적화하는 방법

    일정이 많은 것이 아니라, 순서가 정리되지 않은 경우가 많습니다

    출근 직후 메일함을 열고, 메신저 알림을 확인하고, 어제 끝내지 못한 보고서를 손보다가 오전 회의에 들어갑니다. 회의가 끝나면 갑자기 요청받은 자료를 만들고, 오후에는 원래 예정했던 업무가 밀립니다.

    이런 날은 분명 바쁘게 일했는데도 퇴근할 때 보면 중요한 업무가 그대로 남아 있습니다. 문제는 업무량만이 아닙니다. 해야 할 일을 어떤 순서로, 어느 시간대에, 얼마나 배치할지 매번 머릿속으로 판단하느라 시간이 소모되는 것입니다.

    이때 ChatGPT 같은 AI 도구를 일정 관리에 활용하면 단순히 할 일 (자세히 보기) (자세히 보기) (자세히 보기) (자세히 보기) 목록을 정리하는 수준을 넘어, 업무 우선순위와 예상 소요 시간, 집중이 필요한 시간대를 반영한 하루 계획을 만들 수 있습니다.

    다만 “오늘 일정 정리해 줘”처럼 짧게 입력하면 결과도 평범합니다. 실제로 도움이 되는 일정표를 받으려면 업무의 마감, 소요 시간, 중요도, 고정 일정을 함께 알려줘야 합니다.

    AI 일정 최적화에 필요한 정보는 네 가지입니다

    AI에게 일정을 요청하기 전에 다음 네 가지를 준비합니다.

    항목 입력할 내용 예시
    고정 일정 시간을 변경할 수 없는 회의·교육·외근 10:00 팀 회의, 15:00 협력사 통화
    업무 목록 오늘 처리해야 할 구체적인 작업 월간 보고서 작성, 견적 검토, 메일 회신
    예상 시간 각 업무에 필요한 대략적인 시간 보고서 90분, 견적 검토 40분
    마감과 중요도 언제까지 끝내야 하는지와 우선순위 보고서 오늘 17시 마감, 가장 중요

    예상 시간이 정확하지 않아도 괜찮습니다. 20분, 40분, 1시간처럼 대략적으로만 적어도 AI가 일정을 배치하는 데 충분한 기준이 됩니다.

    실제 장면: 뒤섞인 업무 목록을 하루 일정으로 바꾸기

    다음은 오전 9시부터 오후 6시까지 근무하는 사무직 직장인의 업무 목록을 가정한 예시입니다.

    1단계: 해야 할 일을 가공하지 않고 적습니다

    오늘 할 일

    – 월간 실적 보고서 작성: 약 90분, 오늘 오후 5시 마감

    – 고객 문의 메일 8건 회신: 약 40분, 오전 중 처리 희망

    – 다음 주 회의 자료 검토: 약 50분, 내일까지 가능

    – 팀 회의: 오전 10시부터 10시 40분

    – 협력사 전화: 오후 3시, 약 20분

    – 전자결재 확인: 약 15분

    – 점심시간: 오후 12시부터 1시

    – 오후 6시 퇴근

    2단계: ChatGPT에 일정 최적화를 요청합니다

    아래 문장을 그대로 복사한 뒤, 업무 내용만 자신의 일정으로 바꾸면 됩니다.

    다음 업무를 오전 9시부터 오후 6시 사이에 배치해 주세요.

    고정 일정과 점심시간은 변경하지 말고, 마감이 빠른 업무와 집중이 필요한 업무를 우선 배치해 주세요.

    비슷한 업무는 가능하면 묶고, 각 업무 사이에는 5~10분의 여유 시간을 넣어 주세요.

    예상 시간이 부족하면 어떤 업무를 다음 날로 미뤄야 하는지도 알려 주세요.

    [고정 일정]

    – 팀 회의: 10:00~10:40

    – 점심시간: 12:00~13:00

    – 협력사 전화: 15:00~15:20

    [업무]

    – 월간 실적 보고서 작성: 90분, 오늘 17시 마감, 중요도 높음

    – 고객 문의 메일 8건 회신: 40분, 오전 처리 권장

    – 다음 주 회의 자료 검토: 50분, 내일까지 가능

    – 전자결재 확인: 15분, 오늘 처리

    업무를 시간대별 블록으로 나누어 배치하는 일정 최적화 흐름

    3단계: AI가 만든 결과를 확인합니다

    위와 같이 입력하면 다음과 같은 형태의 일정을 받을 수 있습니다.

    시간 업무 배치 이유
    09:00~09:40 고객 문의 메일 8건 회신 오전 처리 요청이 있고, 비슷한 업무를 한 번에 처리
    09:40~09:55 전자결재 확인 짧은 업무를 회의 전에 완료
    09:55~10:00 회의 준비 회의 전 자료 확인 시간 확보
    10:00~10:40 팀 회의 고정 일정
    10:40~10:50 회의 내용 정리 결정 사항과 후속 업무를 바로 기록
    10:50~12:00 월간 실적 보고서 작성 1차 집중력이 비교적 높은 오전에 핵심 업무 배치
    12:00~13:00 점심시간 고정 일정
    13:00~13:30 월간 실적 보고서 마무리 오전에 작성한 흐름을 이어 마감 업무 완료
    13:30~13:40 휴식 및 파일 점검 제출 전 숫자와 첨부 파일 확인
    13:40~14:30 다음 주 회의 자료 검토 마감 여유가 있는 업무를 오후에 배치
    14:30~15:00 예비 시간 보고서 수정이나 긴급 요청에 대응
    15:00~15:20 협력사 전화 고정 일정
    15:20~15:30 통화 내용 기록 요청 사항과 담당자를 즉시 정리
    15:30~17:00 보고서 보완 및 후속 업무 수정 요청과 예상치 못한 업무에 대응
    17:00~17:20 메일·메신저 확인 오후에 쌓인 연락을 한 번에 처리
    17:20~17:40 내일 업무 정리 미완료 업무와 다음 날 우선순위 기록
    17:40~18:00 마무리 여유 시간 파일 저장, 일정 변경, 긴급 요청 대응

    여기서 눈여겨볼 부분은 AI가 업무를 빈틈없이 채우지 않았다는 점입니다. 현실의 업무에는 갑작스러운 전화, 수정 요청, 상사의 추가 지시가 발생합니다. 오전 9시부터 오후 6시까지 모든 시간을 계획으로 채우면 일정표는 정교해 보여도 실제로는 쉽게 무너집니다.

    따라서 하루 업무 시간의 약 10~20%는 예비 시간으로 남겨 두는 편이 현실적입니다. AI에게도 “업무 사이에 여유 시간을 넣어 달라”고 명확하게 요청해야 합니다.

    일정이 바뀌었을 때는 처음부터 다시 만들 필요가 없습니다

    오후 1시 30분, 팀장에게서 “보고서에 지난달 비교표를 추가해 달라”는 요청을 받았다고 가정해 보겠습니다. 예상 작업 시간은 40분입니다.

    기존 일정표를 버리고 다시 고민하는 대신, AI에게 변경 사항만 전달합니다.

    현재 오후 1시 30분입니다.

    월간 실적 보고서에 지난달 비교표를 추가해야 하며 약 40분이 필요합니다.

    오후 3시 협력사 전화 일정은 변경할 수 없습니다.

    기존 일정 중 무엇을 줄이거나 내일로 미뤄야 하는지 판단해서 오후 일정을 다시 작성해 주세요.

    AI는 다음 주 회의 자료 검토처럼 마감 여유가 있는 업무를 내일로 옮기고, 오후 1시 30분부터 2시 10분까지 비교표 작성 시간을 확보하는 방식으로 일정을 재배치할 수 있습니다.

    이 방식의 장점은 단순합니다. 갑작스러운 업무가 생길 때마다 모든 업무의 우선순위를 다시 판단하지 않아도 됩니다. 현재 시간, 새 업무, 변경할 수 없는 일정만 알려주면 남은 시간을 기준으로 다시 구성할 수 있습니다.

    Google 캘린더와 함께 쓰면 실행 가능성이 높아집니다

    ChatGPT가 만든 일정표를 읽는 데서 끝내면 실제 행동으로 이어지지 않을 수 있습니다. 최종 일정은 Google 캘린더나 Outlook 캘린더에 시간 블록으로 옮기는 것이 좋습니다.

    캘린더에 옮길 때는 업무명을 구체적으로 작성합니다

    “보고서 작성”이라고만 등록하기보다 결과물이 드러나도록 적습니다.

    모호한 일정명 실행하기 쉬운 일정명
    보고서 작성 월간 실적 보고서 표 3개 작성 및 수치 검토
    메일 확인 고객 문의 메일 8건 회신
    회의 준비 팀 회의 안건 3개 확인 및 질문 메모
    자료 검토 다음 주 회의 자료 12쪽까지 검토

    캘린더 일정명에 완료 기준을 넣으면 해당 시간이 끝났을 때 업무가 끝났는지 판단하기 쉬워집니다.

    컴퓨터 화면의 디지털 캘린더에 업무 시간을 등록하는 모습

    대부분 놓치는 한 단계 높은 방법: 업무 종류별로 묶어 달라고 요청하기

    일정 관리에서 자주 발생하는 낭비는 업무를 전환하는 시간입니다. 보고서를 작성하다가 메일을 확인하고, 다시 자료를 검토하다가 메신저에 답하면 집중 흐름이 끊깁니다.

    AI에게 단순히 우선순위만 정해 달라고 하지 말고, 비슷한 성격의 업무를 묶어 달라고 요청해 보세요.

    업무를 다음 네 종류로 분류한 뒤, 같은 종류의 업무가 가능하면 연속되도록 배치해 주세요.

    1. 집중 업무: 보고서 작성, 분석, 기획

    2. 소통 업무: 메일, 전화, 메신저

    3. 행정 업무: 결재, 비용 처리, 문서 등록

    4. 회의 업무: 회의 준비, 참석, 회의록 정리

    예를 들어 고객 메일 회신, 협력사 전화, 내부 메신저 답변을 서로 다른 시간에 흩어 놓지 않고 특정 시간대에 모으면 업무 전환 횟수를 줄일 수 있습니다.

    반대로 보고서 작성과 데이터 검토처럼 집중이 필요한 업무는 메신저 확인 시간과 분리하는 편이 좋습니다. 일정표가 단순히 바쁜 순서가 아니라 업무 성격에 맞는 흐름을 갖게 됩니다.

    매일 사용할 수 있는 일정 최적화 입력 양식

    아래 양식을 메모장이나 사내에서 허용된 문서 도구에 저장해 두고 매일 아침 내용을 바꿔 입력하면 됩니다.

    오늘 근무 시간은 [09:00~18:00]입니다.

    아래 업무를 현실적으로 수행할 수 있도록 시간대별 일정으로 작성해 주세요.

    [고정 일정]

    [오늘 반드시 끝낼 업무]

    – 업무명 / 예상 시간 / 마감 시간

    [오늘 끝내면 좋은 업무]

    – 업무명 / 예상 시간 / 마감일

    [업무 조건]

    – 집중 업무는 가능하면 오전에 배치

    – 메일과 메신저 확인은 특정 시간에 묶기

    – 업무 사이에 5~10분 여유 시간 확보

    – 전체 시간의 15%는 긴급 업무 대응 시간으로 남기기

    – 시간이 부족하면 미뤄야 할 업무와 이유 표시

    – 마지막 20분은 내일 업무 정리에 사용

    AI가 만든 일정표는 반드시 세 가지를 확인해야 합니다

    1. 실제보다 짧게 계산된 업무가 없는지 확인합니다

    AI는 사용자가 입력한 시간을 기준으로 배치합니다. 평소 한 시간 이상 걸리는 보고서를 30분이라고 입력하면 실행하기 어려운 일정이 나옵니다. 예상이 어렵다면 평소 걸린 시간보다 10~20% 넉넉하게 입력하는 편이 안전합니다.

    2. 회의 전후 시간이 빠지지 않았는지 확인합니다

    오전 10시 회의가 40분이라도 실제로는 자료를 여는 시간, 회의실 이동, 회의 후 기록 시간이 필요합니다. 회의 앞뒤로 최소 5~10분을 함께 배치해야 일정이 밀리지 않습니다.

    3. 모든 시간을 업무로 채우지 않았는지 확인합니다

    빈 시간이 없는 일정표는 효율적으로 보이지만, 작은 변수에도 전체 일정이 지연됩니다. 긴급 요청이 잦은 직무라면 예비 시간을 20% 이상 확보하는 것도 고려할 수 있습니다.

    회사 업무를 입력할 때 개인정보와 사내 규정을 지키는 방법

    AI 일정 관리는 편리하지만, 회사 자료를 그대로 외부 AI 서비스에 입력해서는 안 됩니다. 특히 고객명, 거래 금액, 계약 조건, 인사 정보, 사내 시스템 화면, 공개 전 실적 자료는 주의해야 합니다.

    업무 내용을 입력할 때는 식별 가능한 정보를 일반적인 표현으로 바꿉니다.

    입력하지 않는 표현 바꿔서 입력하는 표현
    A사 7월 공급 단가 18억 원 검토 주요 협력사 공급 조건 검토
    홍길동 대리 인사평가 면담 팀원 평가 면담
    신제품 출시일 8월 17일 확정 회의 비공개 프로젝트 일정 회의
    고객 전화번호와 이메일 목록 정리 고객 연락처 목록 정리

    회사의 생성형 AI 사용 지침이 있다면 해당 지침이 우선입니다. 외부 AI 사용이 제한된 조직에서는 회사가 승인한 AI 서비스나 사내 도구만 사용해야 합니다. 일정 최적화가 목적이라면 업무의 구체적인 내용보다 업무 종류, 예상 시간, 마감 시점만 입력해도 충분합니다.

    FAQ

    Q1. 업무 예상 시간을 잘 모르는데도 사용할 수 있나요?

    가능합니다. 처음에는 15분, 30분, 60분처럼 대략적으로 입력하세요. 하루가 끝난 뒤 실제 소요 시간을 기록하면 다음 일정의 정확도가 높아집니다. 예를 들어 보고서 작성에 60분을 예상했지만 실제로 90분이 걸렸다면, 다음부터는 90분에 검토 시간 10분을 추가해 입력하는 방식이 좋습니다.

    Q2. 회사의 중요한 업무 내용을 ChatGPT에 입력해도 되나요?

    회사 승인 여부와 사내 보안 규정을 먼저 확인해야 합니다. 고객명, 계약 금액, 개인정보, 비공개 프로젝트명, 내부 문서 원문은 입력하지 않는 것이 안전합니다. “고객사 계약서 검토”처럼 일반화하고, 업무 시간과 마감 정보만 제공해도 일정 배치는 가능합니다.

    Q3. AI가 만든 일정대로 수행하지 못하면 의미가 없지 않나요?

    일정표를 완벽하게 지키는 것이 목적은 아닙니다. 중요한 것은 일정이 틀어졌을 때 무엇을 미루고 무엇을 유지할지 빠르게 판단하는 것입니다. 현재 시간과 새로 생긴 업무를 AI에 다시 입력해 남은 일정을 재배치하면 됩니다. 하루가 끝난 뒤에는 완료하지 못한 업무와 실제 소요 시간을 반영해 다음 날 계획을 조정하세요.

    AI 일정 관리의 실질적인 가치는 달력을 자동으로 채우는 데 있지 않습니다. 해야 할 일이 몰렸을 때 우선순위를 다시 계산하고, 집중 업무와 소통 업무를 구분하며, 예상치 못한 요청을 받아들일 여유를 확보하는 데 있습니다. 내일 아침에는 할 일 목록만 적지 말고, 마감 시간과 예상 소요 시간을 함께 넣어 하루 일정으로 변환해 보세요.


  • Notion과 Google Calendar로 회의 일정을 한곳에서 관리하는 실전 설정법

    Notion과 Google Calendar로 회의 일정을 한곳에서 관리하는 실전 설정법

    회의 일정은 캘린더에, 준비 자료는 Notion에 흩어져 있지 않나요? ( ( (자세히 보기)자세히 보기)자세히 보기)

    회의 초대는 Google Calendar로 받고, 안건과 회의록은 Notion에 적는 팀이 많습니다. 문제는 회의가 잡힐 때마다 두 서비스를 오가며 같은 내용을 반복해서 입력해야 한다는 점입니다.

    예를 들어 월요일 오전에 다음과 같은 메시지를 받았다고 가정해 보겠습니다.

    “목요일 오후 2시에 신제품 출시 점검 회의를 진행합니다. 참석자는 마케팅팀과 영업팀이며, 회의 전까지 가격표와 상세페이지 수정안을 준비해 주세요.”

    일반적으로는 Google Calendar에 일정을 등록한 뒤 Notion 회의록 페이지를 만들고, 날짜·참석자·준비사항을 다시 입력합니다. 일정이 변경되면 두 곳을 각각 수정해야 합니다.

    이 글에서는 Notion Calendar를 연결 지점으로 사용해 Google Calendar 일정과 Notion 회의 데이터베이스를 한 화면에서 관리하는 방법을 설명합니다. 별도의 개발 작업 없이 따라 할 수 있으며, ChatGPT를 이용해 회의 요청 문장을 일정 정보로 정리하는 과정 (자세히 보기)까지 포함합니다.

    먼저 알아둘 점: Notion 페이지 안으로 Google Calendar를 가져오는 방식은 아닙니다

    현재 공식 연동의 중심은 Notion Calendar입니다. Notion Calendar에 Google 계정과 Notion 워크스페이스를 연결하면 다음 두 종류의 일정을 한 화면에서 볼 수 있습니다.

    • Google Calendar에 등록된 회의와 약속
    • 날짜 속성이 있는 Notion 데이터베이스 항목

    즉, Google Calendar 일정을 Notion 데이터베이스로 자동 복사하는 구조와는 다릅니다. Notion 공식 도움말에서도 Google Calendar 자체를 Notion 페이지 안으로 직접 가져오는 기능은 현재 제공되지 않는다고 안내합니다. 대신 Notion Calendar를 통합 일정 화면으로 활용하는 방식입니다.

    1단계: 회의 관리용 Notion 데이터베이스 만들기

    Notion에서 새 페이지를 만든 뒤 표 데이터베이스를 추가합니다. 데이터베이스 이름은 ‘회의 관리’처럼 목적이 분명한 이름이 좋습니다.

    속성은 아래와 같이 구성합니다.

    속성명 속성 유형 입력 예시
    회의명 제목 신제품 출시 점검 회의
    회의 일시 날짜 7월 23일 오후 2시~3시
    참석 부서 다중 선택 마케팅팀, 영업팀
    진행 상태 상태 예정, 완료, 연기
    준비 자료 텍스트 가격표, 상세페이지 수정안
    회의 링크 URL Google Meet 주소
    담당자 사람 또는 텍스트 상품기획팀

    여기서 가장 자주 빠지는 항목은 종료 시간입니다. 날짜 속성을 설정할 때 시작 시각만 입력하지 말고 종료 시각도 함께 지정해야 Notion Calendar에서 정확한 시간 블록으로 표시됩니다. 종료 시간이 없으면 일정이 종일 항목처럼 보이거나 실제 업무 시간을 제대로 반영하지 못할 수 있습니다.

    실제 입력 결과

    회의명: 신제품 출시 점검 회의
    회의 일시: 2026년 7월 23일 오후 2시~3시
    참석 부서: 마케팅팀, 영업팀
    진행 상태: 예정
    준비 자료: 가격표, 상세페이지 수정안
    담당자: 상품기획팀

    이렇게 입력한 항목은 단순한 일정이 아니라 회의 전에 확인할 자료와 회의 후 결정 사항을 담는 업무 페이지가 됩니다.

    캘린더 일정과 회의 데이터베이스가 연결되는 업무 흐름

    2단계: Google Calendar를 Notion Calendar에 연결하기

    Notion Calendar 웹 또는 데스크톱 앱을 열고 Google 계정으로 로그인합니다. 회사에서 Google Workspace 계정을 사용한다면 개인 계정이 아니라 실제 업무용 계정을 선택해야 합니다.

    1. Notion Calendar를 실행합니다.
    2. 왼쪽 메뉴 또는 설정 화면에서 Calendar accounts 항목을 엽니다.
    3. Add calendar account를 선택합니다.
    4. 업무에 사용하는 Google 계정으로 로그인합니다.
    5. 표시할 캘린더를 선택합니다.

    연결이 끝나면 기존 Google Calendar 회의가 Notion Calendar 화면에 나타납니다. 여러 Google 계정을 연결할 수도 있으므로 개인 일정과 회사 일정을 동시에 확인할 수 있습니다. 다만 업무 환경에서는 개인 캘린더의 상세 내용이 화면 공유 중 노출되지 않도록 표시 여부를 구분하는 편이 안전합니다.

    연결 전과 연결 후의 차이

    연결 전

    오후 2시 Google Calendar 회의 확인 → Notion 검색 → 회의록 페이지 찾기 → 준비 자료 확인

    연결 후

    Notion Calendar에서 오후 2시 회의 선택 → 연결된 Notion 회의 페이지 열기 → 안건과 준비 자료 확인

    회의 직전에 관련 문서를 찾느라 여러 탭을 돌아다니는 과정이 줄어드는 것이 가장 큰 변화입니다.

    3단계: Notion 워크스페이스와 회의 데이터베이스 연결하기

    1. Notion Calendar의 Settings를 엽니다.
    2. Notion workspaces를 선택합니다.
    3. Add Notion workspace를 누릅니다.
    4. 회의 데이터베이스가 있는 워크스페이스를 선택하고 접근을 승인합니다.
    5. 왼쪽 캘린더 목록에서 회의 관리 데이터베이스를 추가합니다.
    6. 일정 기준으로 사용할 날짜 속성에 회의 일시를 지정합니다.

    워크스페이스가 여러 개라면 각각 따로 연결해야 합니다. 날짜 속성이 있는 데이터베이스만 일정으로 표시할 수 있으며, 연결 후에는 날짜가 입력된 회의 항목이 Notion Calendar에 나타납니다.

    예를 들어 Notion에 다음 항목을 추가해 보겠습니다.

    회의명: 신제품 출시 점검 회의
    회의 일시: 7월 23일 오후 2시~3시
    준비 자료: 가격표와 상세페이지 수정안

    입력이 완료되면 Notion Calendar의 7월 23일 오후 2시 구간에 해당 항목이 표시됩니다. 이 일정을 오후 3시로 끌어 옮기면 Notion 데이터베이스의 날짜도 함께 변경됩니다. 단, 수식이나 생성 시각처럼 자동으로 계산된 날짜 속성은 Notion Calendar에서 읽기 전용으로 표시될 수 있습니다.

    4단계: ChatGPT로 회의 요청을 일정 입력 형식으로 정리하기

    메신저나 이메일로 받은 회의 요청은 문장 형태라서 날짜, 참석자, 준비사항을 각각 찾아 입력해야 합니다. 이때 ChatGPT에는 원문을 그대로 붙여 넣기보다 필요한 출력 항목을 먼저 지정하는 것이 좋습니다.

    ChatGPT에 입력할 문장

    다음 회의 요청을 Notion 회의 관리 데이터베이스에 입력할 수 있도록 정리해 주세요.

    출력 항목:
    1. 회의명
    2. 시작 일시
    3. 종료 일시
    4. 참석 부서
    5. 준비 자료
    6. 확인이 필요한 정보

    회의 요청:
    “목요일 오후 2시에 신제품 출시 점검 회의를 진행합니다. 참석자는 마케팅팀과 영업팀이며, 회의 전까지 가격표와 상세페이지 수정안을 준비해 주세요. 회의 시간은 1시간입니다.”

    정리된 결과 예시

    1. 회의명: 신제품 출시 점검 회의
    2. 시작 일시: 2026년 7월 23일 오후 2시
    3. 종료 일시: 2026년 7월 23일 오후 3시
    4. 참석 부서: 마케팅팀, 영업팀
    5. 준비 자료: 가격표, 상세페이지 수정안
    6. 확인이 필요한 정보: 회의실 또는 온라인 회의 링크, 회의 주관자

    이 결과를 Notion 데이터베이스의 각 속성에 옮기면 됩니다. 특히 AI가 임의로 채우지 않고 확인해야 할 정보를 별도로 표시하도록 요청한 점이 중요합니다. 회의실, 주관자, 참석자 이메일처럼 원문에 없는 정보가 사실처럼 만들어지는 것을 줄일 수 있습니다.

    직장인이 노트북에서 회의 일정과 준비 자료를 확인하는 모습

    직장에서 활용하는 실제 운영 방식

    매주 반복되는 회의라면 다음 흐름으로 운영할 수 있습니다.

    1. Google Calendar에서 반복 회의를 생성하고 참석자를 초대합니다.
    2. Notion 회의 관리 데이터베이스에 해당 주의 회의 페이지를 만듭니다.
    3. 회의 페이지에 안건, 준비 자료, 이전 회의 후속 조치를 기록합니다.
    4. Notion Calendar에서 Google 일정과 Notion 회의 페이지를 같은 시간대에 확인합니다.
    5. 회의 종료 후 상태를 ‘완료’로 변경하고 결정 사항과 담당 업무를 기록합니다.

    예를 들어 매주 월요일 오전 10시에 영업 실적 회의가 열린다면 Google Calendar에는 반복 일정을 유지하고, Notion에는 주차별 회의록을 남기는 방식이 적합합니다.

    7월 20일 영업 실적 회의
    – 지난주 매출: 4억 2천만 원
    – 목표 대비: 93%
    – 결정 사항: 수도권 거래처 재접촉
    – 담당: 영업1팀
    – 완료 기한: 7월 24일

    Google Calendar는 ‘언제 모이는지’를 관리하고, Notion은 ‘무엇을 준비하고 무엇이 결정됐는지’를 관리합니다. 두 도구를 억지로 완전히 동일하게 만들기보다 역할을 나누고 Notion Calendar에서 함께 확인하는 것이 관리 오류가 적습니다.

    사내 규정과 개인정보를 고려한 설정 원칙

    회사 일정과 회의 자료를 외부 서비스에 연결하기 전에는 사내 보안 규정을 먼저 확인해야 합니다. 특히 다음 정보는 그대로 입력하지 않는 편이 안전합니다.

    • 고객 이름, 전화번호, 이메일 주소
    • 계약 금액과 미공개 매출 정보
    • 인사평가, 징계, 급여 관련 내용
    • 출시 전 제품명과 보안 등급이 있는 프로젝트 정보
    • 접속 비밀번호, API 키, 사내 시스템 주소

    ChatGPT로 회의 요청을 정리할 때는 실제 고객명 대신 ‘A고객사’, 제품명 대신 ‘신제품 A’처럼 비식별화할 수 있습니다.

    예를 들어 다음 원문을 그대로 입력하지 않습니다.

    한빛상사 이정민 부장과 8월 공급단가 12% 인상 협상

    대신 아래처럼 바꿉니다.

    주요 거래처 담당자와 다음 달 공급단가 조정 협상

    또한 Google Calendar 공유 권한은 업무 목적에 필요한 수준으로 제한해야 합니다. 팀원에게 일정의 존재만 보여주면 되는 경우에는 모든 세부 내용을 공개할 필요가 없습니다. 캘린더를 공개 상태로 전환하거나 외부 계정에 전체 수정 권한을 부여하는 설정은 피하는 것이 좋습니다. Google Calendar는 사용자별로 일정 확인, 세부정보 확인, 변경 관리 등 권한을 구분해 설정할 수 있습니다.

    자주 발생하는 오류 점검표

    문제 확인할 항목
    Notion 일정이 보이지 않음 데이터베이스에 날짜 속성이 있는지, 해당 항목에 실제 날짜가 입력됐는지 확인
    Google 회의가 보이지 않음 올바른 Google 계정을 연결했는지, 해당 캘린더의 표시가 꺼져 있지 않은지 확인
    일정이 종일 항목으로 표시됨 Notion 날짜 속성에 시작 시각과 종료 시각을 입력했는지 확인
    드래그해도 날짜가 변경되지 않음 수식, 생성 시각, 최종 편집 시각 등 읽기 전용 날짜를 사용하고 있지 않은지 확인
    회의 시간이 한 시간씩 다르게 보임 Google Calendar와 Notion Calendar의 시간대 설정을 각각 확인

    Notion Calendar는 처음 설정할 때 Google Calendar의 기본 시간대를 가져오지만, 이후 한 서비스에서 시간대를 바꿔도 다른 서비스에 자동 반영되지 않을 수 있습니다. 해외 지사와 회의하거나 출장 중 일정을 관리한다면 두 서비스의 시간대를 모두 확인해야 합니다.

    FAQ

    1. Google Calendar에 일정을 만들면 Notion 데이터베이스에도 자동으로 생성되나요?

    기본 연결만으로는 Google Calendar 일정이 Notion 데이터베이스 항목으로 자동 복사되지 않습니다. Notion Calendar에서 Google 일정과 Notion 데이터베이스 일정을 함께 볼 수 있는 구조입니다. 양쪽에 동일한 항목을 자동 생성하려면 별도의 승인된 자동화 서비스나 API 구성이 필요하며, 도입 전 사내 보안 규정과 외부 서비스 사용 가능 여부를 확인해야 합니다.

    2. 회사 Google 계정을 개인 Notion에 연결해도 되나요?

    회사 정책에서 허용한 경우에만 연결해야 합니다. 업무용 Google Workspace와 개인 Notion을 연결하면 회의 제목, 참석자, 일정 정보가 외부 워크스페이스에 노출될 가능성이 있습니다. 회사가 제공한 Notion 워크스페이스를 사용하거나, 관리자에게 허용 범위와 데이터 보관 정책을 확인하는 것이 안전합니다.

    3. 회의 일정 변경은 어느 곳에서 해야 하나요?

    참석자 초대와 알림이 포함된 공식 회의는 Google Calendar에서 변경하는 것이 안전합니다. Notion 데이터베이스 항목의 날짜를 바꾸는 것만으로는 Google Calendar 초대 일정이 변경되지 않을 수 있습니다. Google Calendar에서는 실제 회의 시간을 관리하고, Notion에서는 안건·준비 자료·결정 사항을 관리한다는 기준을 정해 두면 일정 불일치를 줄일 수 있습니다.

    참고: 이 글의 연동 방식과 기능 제한은 2026년 7월 기준 Notion 및 Google의 공식 도움말을 바탕으로 정리했습니다. 서비스 화면과 메뉴 이름은 계정 유형이나 업데이트에 따라 달라질 수 있습니다.


  • Google Calendar와 Zapier로 반복 일정 등록 자동화하는 방법

    Google Calendar와 Zapier로 반복 일정 등록 자동화하는 방법

    메일과 문서에 흩어진 일정을 매번 옮겨 적고 있다면

    회의 일정, 고객 방문, 교육 신청, 장비 점검일처럼 직장에서 관리해야 할 일정은 계속 생깁니다. 문제는 일정 자체보다 등록 과정입니다.

    담당자가 신청 내용을 확인하고, 날짜와 시간을 다시 읽은 뒤, Google Calendar를 열어 제목·장소·참석자·설명을 입력 (자세히 보기) ( (자세히 보기)자세히 보기)합니다. 한 건당 2분만 걸려도 하루에 10건이면 20분입니다. 날짜를 잘못 옮기거나 참석자를 빠뜨리는 일도 생깁니다.

    이 반복 작업은 다음 구조로 바꿀 수 있습니다.

    직원이 일정 정보를 입력한다 → Zapier가 새 입력을 감지한다 → Google Calendar (자세히 보기) (자세히 보기)에 일정이 자동 등록된다

    이번 글에서는 별도의 코딩 없이 Google Sheets와 Zapier, Google Calendar를 연결해 실제로 작동하는 일정 자동화를 만들어보겠습니다. 영업 방문, 사내 교육, 생산설비 점검처럼 직무가 달라도 입력 항목만 바꾸면 그대로 활용할 수 있습니다.

    이번에 만들 자동화의 실제 동작

    먼저 완성된 모습을 보겠습니다. Google Sheets에 아래와 같은 행이 새로 추가됐다고 가정하겠습니다.

    일정명 시작일시 종료일시 장소 담당자 이메일 업무 내용
    신규 거래처 방문 미팅 2026-07-22 14:00 2026-07-22 15:30 서울 강남구 고객사 회의실 sales@company.com 제품 제안서 설명 및 납품 일정 협의

    Zapier가 이 행을 감지하면 Google Calendar에 다음과 같이 등록합니다.

    일정 제목: [고객 방문] 신규 거래처 방문 미팅
    시간: 2026년 7월 22일 오후 2시~3시 30분
    장소: 서울 강남구 고객사 회의실
    참석자: sales@company.com
    설명: 제품 제안서 설명 및 납품 일정 협의
    출처: 일정 신청 시트에서 자동 등록

    일정을 신청한 직원은 Calendar를 별도로 열 필요가 없습니다. 관리자는 신청 시트만 확인하면 되고, 참석자는 Calendar 초대를 통해 일정을 확인할 수 있습니다.

    일정 입력부터 캘린더 등록까지 이어지는 자동화 흐름

    준비할 것

    자동화를 만들기 전에 다음 세 가지를 준비합니다.

    • Google 계정
    • 일정 입력용 Google Sheets
    • Zapier 계정

    회사에서 Google Workspace를 사용한다면 개인 계정보다 회사에서 승인한 업무용 계정을 사용하는 편이 안전합니다. Zapier처럼 외부 서비스에 회사 계정을 연결할 수 있는지는 사내 보안 규정과 관리자의 허용 범위를 먼저 확인해야 합니다.

    1단계: 일정 입력용 Google Sheets 만들기

    Google Sheets에서 새 문서를 만들고 첫 번째 행에 다음 항목을 입력합니다.

    항목명 입력 예시
    A 일정명 월간 품질회의
    B 시작일시 2026-07-24 10:00
    C 종료일시 2026-07-24 11:00
    D 장소 2층 대회의실
    E 담당자 이메일 quality@company.com
    F 업무 내용 6월 불량 현황 및 개선 조치 검토
    G 등록 상태 처리 대기

    날짜 형식은 팀 전체가 동일하게 사용해야 합니다. 예를 들어 ‘7월 24일 오전’처럼 입력하면 자동화가 시간을 정확히 해석하지 못할 수 있습니다. 이 글에서는 YYYY-MM-DD HH:MM 형식을 사용합니다.

    테스트를 위해 두 번째 행에는 실제 일정이 아닌 다음과 같은 시험 데이터를 입력합니다.

    일정명: 자동화 테스트 회의
    시작일시: 2026-07-24 10:00
    종료일시: 2026-07-24 10:30
    장소: 온라인
    담당자 이메일: 본인 업무용 이메일
    업무 내용: Zapier 일정 등록 동작 확인
    등록 상태: 처리 대기

    2단계: Zapier에서 시작 조건 만들기

    Zapier에 로그인한 뒤 새 Zap을 만듭니다. 화면 구성과 메뉴 명칭은 업데이트에 따라 조금 달라질 수 있지만, 자동화의 구조는 Trigger와 Action 두 부분으로 동일합니다.

    Trigger 앱 선택

    1. 새 Zap 생성 화면에서 Trigger 앱으로 Google Sheets를 선택합니다.
    2. Trigger Event는 New Spreadsheet Row를 선택합니다.
    3. Google 계정을 연결합니다.
    4. 앞에서 만든 스프레드시트와 워크시트를 지정합니다.
    5. Test Trigger를 실행해 시험 데이터가 불러와지는지 확인합니다.

    테스트 결과에 ‘자동화 테스트 회의’, ‘2026-07-24 10:00’ 등이 표시되면 시작 조건은 정상입니다.

    여기서 자주 놓치는 부분이 있습니다. Zapier가 열 이름을 읽은 후 Google Sheets의 첫 번째 행 제목을 바꾸면 기존 필드 연결이 어긋날 수 있습니다. 자동화를 완성한 뒤에는 ‘시작일시’를 ‘시작 시간’처럼 임의로 변경하지 않는 편이 좋습니다.

    3단계: Google Calendar 일정 생성 설정하기

    Action 단계에서 Google Calendar를 선택합니다. Zapier의 Google Calendar 연동에는 텍스트를 한 번에 해석하는 빠른 일정 추가 방식과 각 항목을 개별 지정하는 상세 일정 생성 방식이 있습니다. 업무용 자동화에서는 날짜, 장소, 설명, 참석자를 각각 통제할 수 있는 Create Detailed Event 방식이 적합합니다.

    1. Action 앱으로 Google Calendar를 선택합니다.
    2. Action Event에서 Create Detailed Event를 선택합니다.
    3. 일정을 등록할 Google 계정을 연결합니다.
    4. 대상 Calendar를 선택합니다.
    5. Google Sheets의 값을 Calendar 필드에 연결합니다.

    필드 연결 예시

    Google Calendar 필드 연결할 Google Sheets 값
    Summary 일정명
    Description 업무 내용
    Location 장소
    Start Date & Time 시작일시
    End Date & Time 종료일시
    Attendees 담당자 이메일

    일정 제목을 조금 더 알아보기 쉽게 만들고 싶다면 Summary에 고정 문구와 시트 값을 함께 넣습니다.

    Zapier 입력:
    [업무 일정] + 일정명

    Calendar 결과:
    [업무 일정] 자동화 테스트 회의

    Description에도 고정 안내문을 추가할 수 있습니다.

    Zapier 입력:
    업무 내용
    이 일정은 일정 신청 시트에서 자동 등록되었습니다.

    Calendar 결과:
    Zapier 일정 등록 동작 확인
    이 일정은 일정 신청 시트에서 자동 등록되었습니다.

    자동 생성 사실을 설명에 표시해두면 일정이 어디에서 만들어졌는지 추적하기 쉬워집니다. 잘못 등록된 일정이 생겼을 때 원본 시트를 찾는 데도 도움이 됩니다.

    4단계: 테스트하고 실제 Calendar에서 확인하기

    Zapier의 Action 테스트를 실행합니다. 성공 메시지만 보고 끝내지 말고 Google Calendar를 직접 열어 다음 항목을 확인합니다.

    • 날짜가 하루 앞이나 뒤로 밀리지 않았는가
    • 오전과 오후가 바뀌지 않았는가
    • 종료 시간이 시작 시간보다 늦게 설정됐는가
    • 올바른 업무용 Calendar에 등록됐는가
    • 참석자 이메일이 정확한가
    • 설명과 장소에 불필요한 정보가 포함되지 않았는가

    일정이 다른 시간에 생성된다면 Google Calendar와 Zapier 계정의 시간대가 모두 Asia/Seoul로 설정돼 있는지 확인합니다. 이전 단계에서 가져온 날짜 형식이 Calendar에서 요구하는 형식과 맞지 않는 경우에는 Zapier의 Formatter 단계로 날짜를 변환할 수 있습니다.

    업무용 캘린더에 자동 등록된 회의 일정을 확인하는 장면

    5단계: 중복 일정과 잘못된 입력 막기

    기본 자동화만 만들면 같은 행을 다시 처리하거나 필수 항목이 비어 있는데도 일정 생성을 시도할 수 있습니다. 실무에서는 Calendar 생성 전에 검사 단계를 하나 추가하는 편이 안정적입니다.

    Filter로 처리 대상 제한하기

    Google Sheets Trigger와 Google Calendar Action 사이에 Zapier의 Filter 단계를 추가합니다.

    실행 조건
    등록 상태가 ‘처리 대기’와 정확히 일치할 때만 계속 진행

    예를 들어 등록 상태가 ‘승인 대기’, ‘취소’, ‘등록 완료’라면 Calendar를 만들지 않습니다. 검토가 필요한 일정은 담당자가 ‘처리 대기’로 변경한 뒤에만 자동 등록하도록 운영할 수 있습니다.

    등록 완료 표시 남기기

    Calendar 생성 뒤 Google Sheets의 해당 행을 업데이트해 등록 상태를 ‘등록 완료’로 바꾸는 Action을 추가할 수 있습니다.

    입력 전: 처리 대기
    Calendar 생성 후: 등록 완료

    이 구조를 사용하면 관리자가 시트만 보고도 어떤 일정이 처리됐는지 구분할 수 있습니다. 단, 여러 단계로 구성된 Zap은 사용 중인 요금제와 기능 제공 범위에 따라 제한될 수 있으므로 현재 계정에서 사용 가능한 기능을 확인해야 합니다.

    직무별로 이렇게 바꿔 사용할 수 있습니다

    영업팀: 고객 방문 일정 자동 등록

    입력 항목: 거래처명, 방문 목적, 방문일시, 주소, 담당 영업사원

    결과: 영업사원의 Calendar에 고객 방문 일정이 생성되고, 장소에는 고객사 주소가 들어갑니다. 일정 설명에는 상담 주제와 준비할 자료를 표시합니다.

    [고객 방문] 미래산업 제안 미팅
    2026년 7월 28일 오후 2시
    경기도 성남시 고객사 본사
    준비 자료: 제품 소개서, 견적서, 납기 일정표

    인사·교육 담당: 교육 신청 일정 자동 등록

    입력 항목: 교육명, 교육일시, 교육장, 신청자 이메일, 준비물

    결과: 신청자의 Calendar에 교육 일정이 등록되고 교육장 위치와 준비물이 설명에 포함됩니다.

    생산·품질관리: 설비 점검 일정 자동 등록

    입력 항목: 설비명, 점검일시, 점검 구역, 담당자, 점검 항목

    결과: 담당자 Calendar에 점검 일정이 생성됩니다.

    [설비 점검] 2호 프레스 정기 점검
    2026년 7월 30일 오전 9시
    프레스 공정 A구역
    점검 항목: 안전센서, 유압 상태, 비상정지 스위치

    설비 고장 내용이나 작업자의 개인정보처럼 민감한 정보는 Calendar 설명에 모두 복사하지 않는 것이 좋습니다. Calendar에는 ‘점검 관리 시스템에서 상세 내용 확인’이라고 표시하고, 접근 권한이 통제된 내부 시스템에서 세부 정보를 확인하도록 분리합니다.

    AI를 활용해 자동화 설계를 더 빠르게 만드는 방법

    Zapier의 자동화 생성 화면에서 자연어로 원하는 작업 흐름을 설명해 초안을 만들거나, ChatGPT에 필드 구성을 먼저 요청할 수 있습니다. Zapier는 원하는 시작 조건과 후속 작업을 자연어로 설명해 워크플로 초안을 만드는 기능을 안내하고 있습니다.

    ChatGPT에는 막연하게 “일정 자동화 만들어줘”라고 입력하지 말고 실제 업무 흐름을 적습니다.

    입력 예시

    Google Sheets에 고객 방문 일정이 추가되면 Google Calendar에 자동 등록하려고 합니다.
    시트 열은 거래처명, 방문 목적, 시작일시, 종료일시, 주소, 담당자 이메일, 처리 상태입니다.
    처리 상태가 ‘처리 대기’인 행만 등록하고 싶습니다.
    Calendar 제목, 설명, 장소, 시작·종료 시간, 참석자에 어떤 값을 연결해야 하는지 표로 정리해 주세요.
    날짜 형식은 YYYY-MM-DD HH:MM입니다.

    결과 예시

    Calendar 항목 연결 값
    제목 [고객 방문] 거래처명
    설명 방문 목적 + 자동 등록 안내
    장소 주소
    시작 시작일시
    종료 종료일시
    참석자 담당자 이메일
    필터 조건 처리 상태가 ‘처리 대기’일 때만 실행

    이렇게 업무 항목과 실행 조건을 구체적으로 입력하면 Zapier 설정 화면에서 무엇을 선택해야 하는지 바로 대조할 수 있습니다.

    자동화 후 달라지는 업무 흐름

    기존 방식 자동화 후
    신청 내용을 메일이나 메신저로 받음 지정된 시트나 신청 양식으로 접수
    담당자가 Calendar에 다시 입력 새 행을 감지해 자동 등록
    참석자를 수동으로 초대 입력된 이메일을 참석자로 연결
    처리 여부를 별도로 기록 시트의 등록 상태로 확인
    잘못 입력한 원본을 찾기 어려움 Calendar 설명에서 원본 출처 확인

    효율성은 단순히 입력 시간이 줄어드는 데서 끝나지 않습니다. 팀원들이 같은 형식으로 일정을 등록하게 되고, 누가 어떤 정보를 입력해야 하는지 명확해집니다. 자동화는 흐트러진 업무 절차를 정리하는 역할도 합니다.

    FAQ

    1. 회사 일정 정보를 Zapier에 연결해도 안전한가요?

    회사의 보안 정책과 Google Workspace 관리자 설정을 먼저 확인해야 합니다. 고객 개인정보, 계약 금액, 인사평가, 건강정보, 미공개 프로젝트명처럼 민감한 정보는 외부 자동화 서비스로 전달하지 않는 것이 안전합니다. 필요한 경우 일정 제목에는 ‘고객 미팅’처럼 최소 정보만 넣고, 상세 내용은 권한이 제한된 사내 시스템에 보관합니다.

    업무용 Google Calendar는 조직 관리자가 접근할 수 있으며, 공유 권한에 따라 다른 사용자가 일정 제목·시간·장소·설명을 볼 수 있습니다. Calendar 공유 권한은 ‘한가함/바쁨만 보기’와 ‘모든 일정 세부정보 보기’처럼 구분되므로 자동화 전에 대상 Calendar의 공유 설정을 확인해야 합니다.

    2. 같은 일정이 두 번 등록되면 어떻게 하나요?

    시트에 ‘처리 상태’ 열을 만들고, 값이 ‘처리 대기’일 때만 실행하도록 Filter를 설정합니다. 일정 생성 후에는 상태를 ‘등록 완료’로 변경합니다. 더 엄격하게 관리하려면 일정 번호나 신청 번호를 별도 열로 두고, Calendar 설명에도 같은 번호를 기록해 중복 여부를 확인합니다.

    3. 반복 회의도 같은 방식으로 등록할 수 있나요?

    매주 월요일처럼 규칙이 고정된 회의는 Google Calendar에서 반복 일정을 직접 생성하는 편이 단순합니다. 신청 건마다 날짜가 달라지는 교육, 고객 방문, 점검 일정은 Zapier 자동화가 적합합니다. Zapier의 Google Calendar 연동에서는 반복 일정과 일부 Trigger 조합에 제약이 있을 수 있으며, 반복 일정의 시작 시점을 기준으로 후속 작업을 실행하려면 Event Starts Trigger를 검토할 수 있습니다.

    처음부터 복잡한 자동화를 만들 필요는 없습니다. 먼저 ‘Google Sheets 새 행 → Google Calendar 상세 일정 생성’ 두 단계만 연결해 시험 일정 한 건을 등록해 보세요. 날짜, 시간대, Calendar, 참석자까지 정상적으로 들어가는 것을 확인한 뒤 필터와 등록 완료 표시를 추가하면 실제 업무에서도 관리하기 쉬운 일정 자동화가 완성됩니다.


  • Notion AI로 팀 프로젝트 일정 관리하기: 역할 배정부터 일정 변경 공유까지

    Notion AI로 팀 프로젝트 일정 관리하기: 역할 배정부터 일정 변경 공유까지

    일정표는 있는데, 왜 마감 직전에 일이 몰릴까요?

    팀 프로젝트에서 일정이 어긋나는 이유는 계획표가 없어서가 아닙니다. 실제로는 담당자 지정이 늦거나, 회의에서 바뀐 일정이 작업 목록에 반영되지 않거나, 앞 작업의 지연이 다음 담당자에게 전달되지 않는 경우가 많습니다.

    Notion AI를 활용할 때도 단순히 “프로젝트 일정을 만들어줘 (자세히 보기) (자세히 보기) (자세히 보기)”라고 입력하면 결과가 지나치게 평범해집니다. 일정 관리에 실제로 도움이 되려면 다음 세 가지가 연결되어야 합니다.

    • 업무별 담당자와 검토자를 구분한다.
    • 회의에서 변경된 내용을 기존 일정과 비교한다.
    • 전체 일정과 개인별 할 일을 서로 다른 화면으로 보여준다.

    아래에서는 신제품 소개 페이지 제작 프로젝트를 예로 들어, 입력부터 결과까지 순서대로 구성해보겠습니다.

    1단계: 먼저 팀의 역할과 제약 조건을 입력합니다

    Notion AI에 업무 이름만 전달하면 실제 팀 상황을 알 수 없습니다. 먼저 팀원 역할, 마감일, 검토 절차, 휴가나 선행 작업 같은 제약 조건을 함께 입력해야 합니다.

    실제 입력 예시

    다음 조건으로 신제품 소개 페이지 제작 일정을 작성해줘.

    프로젝트 기간: 8월 3일~8월 21일
    팀 구성:
    – 기획: 요구사항 정리, 페이지 구성안 작성
    – 디자인: 화면 시안, 이미지 제작
    – 마케팅: 제품 문구, 프로모션 검토
    – 개발: 페이지 구현, 수정 반영
    – 팀장: 기획안과 최종 결과 승인

    작업 규칙:
    – 디자인은 기획안 승인 후 시작
    – 개발은 디자인 1차 시안 확정 후 시작
    – 팀장 검토 기간은 작업마다 1일 확보
    – 담당자와 검토자를 분리
    – 각 작업에 시작일, 마감일, 선행 작업, 완료 기준을 포함
    – 일정이 겹치는 담당자가 있으면 경고 표시

    결과는 표 형식으로 작성해줘.

    Notion AI가 정리한 결과 예시

    작업 담당 역할 검토 역할 기간 선행 작업 완료 기준
    요구사항 정리 기획 팀장 8월 3일~4일 없음 필수 기능과 제외 범위 확정
    페이지 구성안 작성 기획 팀장 8월 5일~7일 요구사항 정리 섹션 순서와 자료 목록 승인
    제품 문구 초안 마케팅 기획 8월 5일~7일 요구사항 정리 제목·설명·버튼 문구 작성
    화면 시안 제작 디자인 기획 8월 10일~12일 페이지 구성안 승인 PC·모바일 시안 등록
    페이지 구현 개발 기획 8월 13일~18일 화면 시안 확정 검수 주소에서 주요 기능 작동
    최종 검수 기획·마케팅 팀장 8월 19일~20일 페이지 구현 오류 목록 처리 및 승인 완료
    공개 개발 팀장 8월 21일 최종 검수 운영 주소 게시 확인

    이 결과를 그대로 확정하지는 마세요. AI는 팀원의 실제 업무량이나 갑작스러운 요청까지 알지 못합니다. 일정 초안을 빠르게 만드는 용도로 사용하고, 담당자가 직접 소요 시간을 확인한 뒤 확정하는 방식이 안전합니다.

    2단계: Notion 데이터베이스에 일정 구조를 만듭니다

    새 데이터베이스를 만들고 다음 속성을 추가합니다. 메뉴 이름은 워크스페이스 언어와 버전에 따라 일부 다르게 표시될 수 있습니다.

    속성 형식 용도
    작업명 제목 실행할 업무
    담당자 사람 실제 수행자
    검토자 사람 결과 확인자
    일정 날짜 시작일과 종료일
    상태 상태 예정·진행 중·검토 중·완료
    선행 작업 관계형 또는 텍스트 먼저 끝나야 할 업무
    완료 기준 텍스트 완료 판단 조건
    진행 요약 AI 자동 입력 또는 텍스트 페이지 내용을 바탕으로 현재 상황 요약

    Notion 데이터베이스는 담당자, 마감일, 최종 수정 시각 같은 속성을 추가하고 이를 기준으로 필터링하거나 정렬할 수 있습니다. 동일한 데이터도 표, 보드, 캘린더, 타임라인 등 여러 보기로 나누어 확인할 수 있습니다.

    기획부터 검수까지 이어지는 프로젝트 작업 흐름

    3단계: 역할별 일정은 ‘자동 확정’이 아니라 ‘배정안 생성’으로 운영합니다

    많이 놓치는 부분은 AI가 담당자를 직접 결정하도록 맡기는 것입니다. 같은 직무라도 현재 진행 중인 업무와 휴가 일정이 다르기 때문에, AI에는 배정안을 만들게 하고 최종 담당자는 팀장이 확인하는 편이 좋습니다.

    팀원별 업무량을 반영한 입력 예시

    아래 현재 업무량을 반영해 담당자 배정안을 작성해줘.

    – 기획 담당 A: 이번 주 사용 가능 시간 12시간
    – 기획 담당 B: 이번 주 사용 가능 시간 6시간, 목요일 휴가
    – 디자이너: 월요일 오후부터 작업 가능
    – 개발 담당: 8월 12일까지 다른 프로젝트 대응
    – 마케팅 담당: 제품 문구와 최종 검수를 모두 담당

    조건:
    1. 한 사람에게 같은 날 마감 업무를 2개 이상 배정하지 말 것
    2. 휴가일에는 검토 일정도 배정하지 말 것
    3. 선행 작업이 끝나기 전에는 후속 작업을 시작하지 말 것
    4. 배정이 어려운 작업은 담당자를 임의로 정하지 말고 ‘조정 필요’로 표시할 것

    결과 예시

    – 페이지 구성안 작성 → 기획 담당 A
    배정 이유: 사용 가능 시간이 많고 후속 디자인 협의가 필요함.

    – 제품 정보 확인 → 기획 담당 B
    주의: 목요일 휴가 전인 수요일까지 검토 요청 필요.

    – 페이지 구현 → 개발 담당
    일정 조정: 기존 8월 10일 시작안은 불가. 8월 13일 시작으로 변경 권장.

    – 최종 검수 → 조정 필요
    이유: 마케팅 담당의 문구 수정 일정과 겹칠 가능성이 있음.

    이 방식의 장점은 AI가 그럴듯한 이름을 채우는 데서 끝나지 않고, 배정 이유와 충돌 가능성을 함께 보여준다는 점입니다. 결과를 검토한 뒤 Notion의 ‘담당자’ 속성에 실제 팀원을 지정하세요.

    4단계: 회의 중 일정이 바뀌면 변경 전후를 비교합니다

    일정 변경에서 가장 위험한 상황은 마감일만 고치고 후속 작업은 그대로 두는 것입니다. 예를 들어 디자인 시안이 이틀 늦어졌는데 개발 시작일이 그대로라면, 데이터베이스에는 일정이 있어도 실제로는 실행할 수 없습니다.

    회의 메모 입력 예시

    오늘 회의 변경 사항:
    – 제품 사진 전달이 8월 10일에서 8월 12일로 지연됨
    – 디자인 시안 완료일을 8월 12일에서 8월 14일로 변경
    – 개발 완료일은 가능하면 8월 18일 유지
    – 마케팅 문구는 사진 없이 먼저 검토 가능
    – 공개일 8월 21일은 변경하기 어려움

    기존 일정과 비교해서 다음 항목으로 정리해줘.
    1. 변경해야 할 작업
    2. 영향을 받는 후속 작업
    3. 일정 충돌
    4. 담당자에게 확인할 질문
    5. 공개일을 유지하기 위한 대안

    Notion AI 결과 예시

    구분 AI가 찾은 내용
    직접 변경 사진 전달일과 디자인 시안 완료일을 각각 2일 연기
    후속 영향 개발 시작 가능일이 8월 13일에서 8월 17일로 밀릴 가능성
    충돌 개발 기간이 기존 4일 이상에서 2일로 줄어듦
    확인 질문 사진이 필요한 영역을 제외하고 개발을 먼저 시작할 수 있는가?
    대안 레이아웃 선개발, 사진 영역 후반 교체, 최종 검수 항목 분리

    여기서 바로 일정 전체를 덮어쓰지 말고, AI가 제안한 변경안을 담당자에게 확인하세요. 특히 개발 기간 단축처럼 품질에 영향을 줄 수 있는 결정은 프로젝트 책임자가 승인해야 합니다.

    회의 내용을 페이지에 기록했다면 Notion AI로 요약과 실행 항목을 추출할 수 있습니다. 지원되는 환경에서는 AI Meeting Notes로 회의 내용을 전사하고 주요 내용과 실행 항목을 정리할 수도 있습니다.

    5단계: 프로젝트 진행 상황을 세 가지 화면으로 공유합니다

    모든 팀원에게 같은 화면을 보여주면 필요한 정보를 찾는 시간이 길어집니다. 하나의 데이터베이스를 아래 세 가지 보기로 나누면 회의용, 개인 업무용, 일정 점검용 화면을 따로 운영할 수 있습니다.

    보기 1. 전체 타임라인

    타임라인 보기에서는 시작일과 종료일을 기준으로 작업 기간을 배치합니다. 팀장은 선행 작업이 겹치는 구간과 특정 담당자에게 업무가 몰리는 시기를 확인할 수 있습니다. 타임라인 설정에서 표시 기준이 되는 날짜 속성을 선택할 수 있습니다.

    보기 2. 담당자별 작업 보드

    보드 보기를 만든 뒤 ‘담당자’로 그룹화합니다. 각 팀원은 자신에게 배정된 업무와 현재 상태를 한 화면에서 확인할 수 있습니다.

    • 필터: 상태가 ‘완료’가 아닌 작업
    • 그룹: 담당자
    • 표시 속성: 마감일, 우선순위, 검토자

    보기 3. 이번 주 위험 일정

    별도의 표 보기를 만들고 다음 조건을 적용합니다.

    • 마감일이 이번 주 이내
    • 상태가 ‘완료’가 아님
    • 선행 작업이 미완료이거나 진행 기록에 문제가 있음
    프로젝트 진행 현황을 화면으로 공유하며 회의하는 모습

    6단계: AI 진행 요약은 사실과 요청 사항을 분리합니다

    Notion AI의 데이터베이스 자동 입력 기능은 페이지 내용을 바탕으로 요약, 분류, 태그 지정, 실행 항목 추출 등에 활용할 수 있습니다. 다만 요약문 안에 확인된 사실과 AI의 추정이 섞이지 않도록 지시문을 구체적으로 작성해야 합니다.

    ‘진행 요약’ 속성에 사용할 지시문 예시

    이 작업 페이지의 기록만 사용해 현재 진행 상황을 4줄 이내로 요약해줘.
    – 완료된 내용
    – 남은 내용
    – 일정 위험
    – 담당자 확인이 필요한 사항

    페이지에 없는 정보는 추정하지 말고 ‘기록 없음’이라고 표시해줘. 담당자에게 요청할 내용과 확인된 사실을 구분해줘.

    결과 예시

    완료: PC 화면의 기본 레이아웃 구현 완료.
    남은 내용: 모바일 화면과 제품 사진 교체 작업.
    일정 위험: 사진 전달일이 기록되어 있지 않아 최종 검수 일정 확인 불가.
    확인 요청: 마케팅 담당자에게 사진 전달 예정일 확인 필요.

    “진행이 원활합니다”처럼 판단 근거가 없는 문장보다, 기록이 없는 항목을 드러내는 요약이 일정 관리에는 더 유용합니다.

    운영할 때 놓치기 쉬운 세 가지

    1. 담당자와 검토자를 같은 칸에 넣지 않습니다

    작업자와 승인자가 같으면 검토 대기 상태를 구분하기 어렵습니다. ‘담당자’와 ‘검토자’를 별도 속성으로 운영하면 업무가 끝났지만 승인되지 않은 상태를 바로 찾을 수 있습니다.

    2. 마감일보다 완료 기준을 먼저 명확히 합니다

    ‘디자인 완료’만 적으면 초안 제출인지 최종 승인인지 해석이 달라집니다. “PC·모바일 시안 등록 후 기획 검토 완료”처럼 확인 가능한 결과를 적어야 합니다.

    3. AI 결과를 원본 일정에 즉시 반영하지 않습니다

    AI가 제시한 변경안은 별도의 ‘제안’ 상태로 등록한 뒤 담당자 확인 후 확정하세요. 날짜, 인력, 비용, 외부 공개와 관련된 결정은 사람이 승인한 기록을 남기는 편이 안전합니다.

    FAQ

    Q1. Notion AI가 팀원에게 업무를 자동으로 배정할 수 있나요?

    팀원의 역할과 업무량을 입력해 배정안을 만드는 데는 활용할 수 있습니다. 그러나 휴가, 긴급 업무, 실제 숙련도까지 항상 정확히 반영하는 것은 아닙니다. AI에는 ‘추천 담당자’와 배정 이유를 작성하게 하고, 실제 ‘담당자’ 속성은 팀장이 확인한 뒤 지정하는 방식을 권장합니다.

    Q2. 회의 내용이나 고객 정보를 그대로 입력해도 되나요?

    회사 보안 규정과 Notion 사용 정책을 먼저 확인해야 합니다. 주민등록번호, 개인 연락처, 계좌번호, 비공개 계약 조건, 고객 식별정보, 미공개 경영 자료는 그대로 입력하지 않는 것이 안전합니다. 필요한 경우 ‘고객사 A’, ‘계약금액 구간’처럼 식별할 수 없도록 바꾸고, 워크스페이스의 공유 권한도 함께 점검하세요. Notion은 AI 기능에 외부 AI 하위 처리업체가 사용될 수 있다고 안내하고 있으므로 조직의 보안 담당자가 승인한 범위에서 사용해야 합니다.

    Q3. AI가 만든 일정이 현실적인지 어떻게 확인하나요?

    세 항목을 확인하면 됩니다. 첫째, 선행 작업이 끝나기 전에 후속 작업이 시작되지 않는지 봅니다. 둘째, 같은 담당자의 마감일이 한 날짜에 몰리지 않았는지 확인합니다. 셋째, 검토와 수정에 필요한 시간이 별도로 확보됐는지 점검합니다. 마지막으로 각 담당자에게 예상 소요 시간을 확인받은 뒤 일정을 확정하세요.


  • Excel과 Power Automate로 반복 데이터 보고서 자동 생성하기

    Excel과 Power Automate로 반복 데이터 보고서 자동 생성하기

    매주 반복하는 엑셀 보고서, 어디까지 자동화할 수 있을까?

    영업 실적, 재고 현황, 문의 처리 건수, 광고 성과처럼 매주 같은 형식으로 작성하는 보고서가 있습니다. 문제는 보고서 내용보다 반복 작업입니다. 엑셀 파일을 열고, 최신 데이터를 확인하고, 표를 정리하고, 메일 본문에 붙여 넣고, 담당자에게 보내는 과정이 매번 비슷하게 반복됩니다.

    이 글에서는 Excel 표 데이터를 Power Automate가 직접 읽어 ( (엑셀 피벗 테이블 반복 작업, ChatGPT와 Power Automate로 자동화하는 실전 방법)Notion AI와 Excel로 업무 보고서 초안까지 자동 작성하는 실전 방법)와서, 정해진 형식의 보고서 메일을 자동 (Power Automate로 엑셀 반복 작업 자동화하기: 매일 보고서 정리 시간을 줄이는 실전 예시)으로 생성하는 흐름을 실제 예시로 구성해 보겠습니다. 복잡한 개발 지식 없이도 따라 할 수 있도록 “입력 데이터 → 자동화 흐름 → 생성 결과” 순서로 설명합니다.

    이번 예시: 주간 영업 보고서 자동 생성

    먼저 자동화할 장면을 구체적으로 정하겠습니다. 매주 금요일 오후, 팀에서 관리하는 엑셀 파일의 주간 영업 데이터를 읽고 아래와 같은 보고서 메일을 자동으로 보내는 상황입니다.

    1. Excel 입력 데이터 예시

    엑셀 파일에는 다음과 같은 표가 있다고 가정합니다. 중요한 점은 일반 셀 범위가 아니라 Excel 표로 만들어 두어야 한다는 것입니다. Power Automate의 Excel 연결은 표 이름을 기준으로 행을 가져오기 때문에, 데이터 범위를 표로 지정해 두는 것이 안정적입니다.

    날짜 담당부서 매출액 신규문의 계약건수 메모
    2026-06-15 온라인영업 3,200,000 18 4 광고 유입 증가
    2026-06-16 온라인영업 2,750,000 14 3 전환율 보통
    2026-06-17 법인영업 5,100,000 9 5 기존 고객 재계약

    엑셀에서 이 범위를 선택한 뒤 삽입 → 표를 누르고, 표 이름을 예를 들어 SalesWeekly로 지정합니다. 파일은 개인 PC가 아니라 OneDrive for Business 또는 SharePoint에 저장하는 것이 좋습니다. Power Automate가 안정적으로 접근할 수 있기 때문입니다.

    엑셀 표 데이터가 자동화 흐름을 거쳐 보고서로 변환되는 과정

    Power Automate 흐름 만들기

    2. 자동 실행 시간 정하기

    Power Automate에서 새 흐름을 만들 때는 예약된 클라우드 흐름을 선택합니다. 예시에서는 매주 금요일 오후 5시에 보고서를 생성하도록 설정합니다.

    흐름 이름: 주간 영업 보고서 자동 생성
    반복 주기: 매주 금요일 17:00
    목적: Excel 표 데이터를 읽어 보고서 메일 본문 생성 후 팀 메일로 발송

    매일 보고서가 필요한 부서는 “1일마다”, 월간 보고서는 “매월 1일”처럼 바꾸면 됩니다. 처음에는 주기를 너무 촘촘하게 잡지 말고, 테스트가 쉬운 하루 1회 또는 수동 실행으로 검증한 뒤 실제 주기에 맞추는 편이 안전합니다.

    3. Excel 데이터 가져오기

    다음 단계에서는 Excel Online Business 커넥터의 표에 있는 행 나열 작업을 추가합니다. 설정은 아래처럼 잡습니다.

    항목 설정 예시
    위치 OneDrive for Business 또는 SharePoint 사이트
    문서 라이브러리 문서
    파일 영업보고_주간.xlsx
    SalesWeekly

    여기서 자주 막히는 부분은 “파일은 보이는데 표가 보이지 않는 경우”입니다. 대부분 엑셀 데이터가 표로 변환되어 있지 않거나, 파일이 로컬 PC에만 저장되어 있을 때 발생합니다. 엑셀에서 표 이름을 지정하고 저장한 뒤 Power Automate 화면을 새로고침해 보세요.

    4. 보고서에 넣을 값 만들기

    단순히 엑셀 행 전체를 메일로 보내도 되지만, 업무 보고서라면 요약 문장이 있어야 읽는 사람이 빠르게 판단할 수 있습니다. Power Automate의 변수 초기화 작업을 사용해 누적 매출, 신규문의 수, 계약건수를 계산할 수 있습니다.

    예를 들어 다음 변수를 만듭니다.

    변수 이름 형식 초기값
    TotalSales 정수 0
    TotalInquiry 정수 0
    TotalContract 정수 0

    그다음 각 항목에 적용 단계에서 Excel 행을 하나씩 읽으며 값을 더합니다. 예를 들어 매출액을 더할 때는 “변수 증가” 작업에서 TotalSales에 현재 행의 매출액 값을 더합니다.

    실무에서는 매출액 셀에 쉼표나 원 표시가 들어가 있으면 계산 오류가 날 수 있습니다. 그래서 엑셀 원본에서는 표시 형식만 통화로 두고, 실제 값은 숫자로 유지하는 것이 좋습니다. 보고서 자동화에서 가장 흔한 오류는 자동화 도구가 아니라 엑셀 원본 형식이 일정하지 않은 것에서 시작됩니다.

    자동 생성될 보고서 본문 만들기

    5. HTML 표와 요약 문장 구성

    Power Automate에서 HTML 표 만들기 작업을 추가하면 Excel에서 가져온 행을 메일 본문용 표로 바꿀 수 있습니다. 자동 열 선택보다 사용자 지정 열을 권장합니다. 보고서에 필요한 열만 보여 줄 수 있고, 열 순서를 고정할 수 있기 때문입니다.

    예시 열 구성은 다음과 같습니다.

    보고서 열 Excel 값
    일자 날짜
    부서 담당부서
    매출 매출액
    문의 신규문의
    계약 계약건수
    비고 메모

    메일 보내기 작업에서는 본문을 아래처럼 구성합니다. 그대로 복사해 기본 틀로 사용해도 됩니다.

    제목: [자동 보고] 주간 영업 현황

    안녕하세요.
    이번 주 영업 데이터 요약입니다.

    – 총 매출액: @{variables(‘TotalSales’)}원
    – 신규 문의: @{variables(‘TotalInquiry’)}건
    – 계약 건수: @{variables(‘TotalContract’)}건

    상세 내역은 아래 표를 확인해 주세요.

    @{outputs(‘HTML_표_만들기’)}

    ※ 이 메일은 Power Automate 흐름으로 자동 생성되었습니다.

    여기서 중요한 부분은 “자동 생성”이라는 문구를 본문 하단에 명시하는 것입니다. 받는 사람이 자동 보고서임을 알면, 데이터 오류가 있을 때 원본 엑셀을 확인해야 한다는 흐름도 자연스럽게 생깁니다.

    자동 생성된 업무 보고서를 노트북에서 확인하는 장면

    입력에서 결과까지 실제 장면으로 보기

    입력

    엑셀 파일에 아래 3개 행이 들어 있다고 가정합니다.

    날짜 담당부서 매출액 신규문의 계약건수 메모
    2026-06-15 온라인영업 3200000 18 4 광고 유입 증가
    2026-06-16 온라인영업 2750000 14 3 전환율 보통
    2026-06-17 법인영업 5100000 9 5 기존 고객 재계약

    Power Automate가 처리하는 내용

    흐름은 위 행을 읽고 매출액, 문의 수, 계약 건수를 각각 더합니다.

    계산 항목 결과
    총 매출액 11,050,000원
    신규 문의 41건
    계약 건수 12건

    결과 메일 예시

    안녕하세요.
    이번 주 영업 데이터 요약입니다.

    – 총 매출액: 11,050,000원
    – 신규 문의: 41건
    – 계약 건수: 12건

    상세 내역은 아래 표를 확인해 주세요.

    2026-06-15 / 온라인영업 / 3,200,000원 / 문의 18건 / 계약 4건 / 광고 유입 증가
    2026-06-16 / 온라인영업 / 2,750,000원 / 문의 14건 / 계약 3건 / 전환율 보통
    2026-06-17 / 법인영업 / 5,100,000원 / 문의 9건 / 계약 5건 / 기존 고객 재계약

    ※ 이 메일은 Power Automate 흐름으로 자동 생성되었습니다.

    이 정도만 자동화해도 매주 보고서 작성자가 하던 “파일 열기 → 합계 확인 → 표 복사 → 메일 작성” 작업을 줄일 수 있습니다. 특히 팀장이 원하는 형식이 매번 비슷한 조직이라면 효과가 큽니다.

    대부분 놓치는 한 단계 높은 설정

    보고서용 시트와 입력용 시트를 분리하기

    실무에서는 원본 데이터가 자주 바뀝니다. 담당자가 열 이름을 바꾸거나, 중간에 빈 줄을 넣거나, 메모 칸에 특수문자를 입력하는 경우도 있습니다. 이런 변화가 자동화 흐름을 깨뜨릴 수 있습니다.

    그래서 권장하는 방식은 입력용 시트보고서용 시트를 분리하는 것입니다.

    시트 역할
    RawData 담당자가 실제 데이터를 입력하는 시트
    ReportTable Power Automate가 읽는 정리된 표 시트

    RawData에는 자유롭게 데이터를 입력하되, ReportTable에는 필요한 열만 정리되도록 수식이나 Power Query를 사용합니다. Power Automate는 ReportTable의 표만 읽습니다. 이렇게 하면 사람이 입력하는 영역과 자동화가 읽는 영역이 분리되어 오류가 줄어듭니다.

    실패 알림도 함께 만들기

    자동화는 성공보다 실패를 어떻게 알릴지가 더 중요합니다. Excel 파일 위치가 바뀌거나 표 이름이 변경되면 흐름이 실패할 수 있습니다. 이때 담당자가 며칠 뒤에야 알아차리면 보고 누락으로 이어집니다.

    Power Automate에서는 각 단계 뒤에 “실패한 경우 실행” 조건을 붙일 수 있습니다. 보고서 발송 단계가 실패하면 담당자에게 아래와 같은 알림 메일을 보내도록 구성해 두면 좋습니다.

    제목: [확인 필요] 주간 영업 보고서 자동화 실패

    주간 영업 보고서 자동 생성 흐름이 실패했습니다.
    확인 항목:
    1. Excel 파일 위치가 변경되었는지 확인
    2. 표 이름 SalesWeekly이 유지되어 있는지 확인
    3. 매출액, 신규문의, 계약건수 열에 문자값이 들어갔는지 확인

    개인정보와 사내 규정 확인

    보고서 자동화에서 고객명, 전화번호, 이메일, 주민등록번호, 계약서 번호 같은 정보가 포함된다면 주의가 필요합니다. 자동화 자체보다 어떤 데이터를 어디로 보내는지가 더 중요합니다.

    업무용 보고서에서는 다음 원칙을 권장합니다.

    항목 권장 처리
    고객명 필요하지 않다면 부서명이나 고객군으로 대체
    연락처 보고서 자동 메일에는 포함하지 않기
    계약번호 일부 마스킹 처리
    파일 저장 위치 개인 계정보다 회사 승인 저장소 사용
    메일 수신자 팀 공용 메일 또는 승인된 담당자만 지정

    회사에서 Microsoft 365, OneDrive, SharePoint 사용 정책을 따로 두고 있다면 먼저 확인해야 합니다. 특히 외부 협력사로 자동 발송되는 보고서는 내부 승인 절차를 거치는 편이 안전합니다.

    마무리: 처음부터 거창하게 만들 필요는 없습니다

    Excel과 Power Automate 보고서 자동화는 처음부터 완벽한 대시보드를 만드는 작업이 아닙니다. 반복되는 보고서 하나를 골라 “정해진 시간에, 정해진 표를 읽고, 정해진 형식으로 보내는 것”부터 시작하면 됩니다.

    추천하는 첫 적용 대상은 다음 조건을 만족하는 보고서입니다.

    • 매주 또는 매일 반복해서 작성한다.
    • 엑셀 표 형식이 거의 바뀌지 않는다.
    • 수신자와 보고 형식이 고정되어 있다.
    • 개인정보보다 집계 데이터 중심이다.

    이 조건에 맞는 보고서라면 자동화 성공 가능성이 높습니다. 하나를 안정적으로 만든 뒤 월간 보고서, 재고 보고서, 문의 처리 현황, 광고 성과 보고서로 확장하면 됩니다.

    FAQ

    Q1. Excel 파일이 개인 PC에 있어도 Power Automate로 자동화할 수 있나요?

    권장하지 않습니다. Power Automate가 안정적으로 접근하려면 파일을 OneDrive for Business 또는 SharePoint 같은 클라우드 저장 위치에 두는 편이 좋습니다. 개인 PC에만 있는 파일은 PC 전원, 로그인 상태, 경로 변경의 영향을 받을 수 있습니다.

    Q2. 고객명이나 연락처가 들어간 엑셀도 자동 보고서로 보내도 되나요?

    업무상 꼭 필요한 경우가 아니라면 자동 보고서에는 개인정보를 넣지 않는 것이 안전합니다. 고객명은 고객군이나 거래처 유형으로 바꾸고, 연락처와 이메일은 제외하는 방식을 권장합니다. 회사의 개인정보 처리 기준과 메일 발송 규정을 먼저 확인해야 합니다.

    Q3. 자동화 흐름이 실패하면 어떻게 확인하나요?

    Power Automate의 실행 기록에서 어느 단계가 실패했는지 확인할 수 있습니다. 실무에서는 실패 알림 메일을 별도로 만들어 두는 것이 좋습니다. 표 이름 변경, 파일 위치 변경, 숫자 열에 문자 입력, 빈 행 추가가 대표적인 실패 원인입니다.