
수십 년 동안 엑셀 사용자가 반복적인 작업을 자동화해야 할 때 정답은 항상 VBA(Visual Basic for Applications)였습니다. VBA는 매우 강력하지만 프로그래밍 지식이 필요하며, 철저히 데스크톱용 Microsoft Office 생태계 내에서만 작동하고 초보자에게는 다소 위압적일 수 있습니다. 하지만 오늘날에는 현대적이고 클라우드 기반의 대안인 Microsoft Power Automate가 있습니다.
Power Automate(구 Microsoft Flow)를 사용하면 즐겨 사용하는 앱과 서비스 간에 자동화된 워크플로를 구축하여 파일을 동기화하고, 알림을 받고, 데이터를 수집할 수 있습니다. 가장 좋은 점은 시작하는 데 코딩 지식이 전혀 필요 없다는 것입니다. 이 종합 가이드에서는 단 한 줄의 VBA 코드도 작성하지 않고 Power Automate를 사용하여 매끄러운 엑셀 자동화를 구현하는 방법을 살펴보겠습니다.
방법을 알아보기 전에 먼저 '이유'를 이해하는 것이 중요합니다. 데스크톱 기반의 복잡한 스프레드시트 작업을 위해 VBA 기초: 첫 엑셀 프로그램 만들기를 배우는 것은 여전히 가치 있는 기술이지만, 연결성이 중시되는 현대의 업무 환경에서는 Power Automate가 훨씬 더 빛을 발합니다.
두 도구를 언제 사용해야 할지 간단히 비교해 보았습니다.
| 기능 | Excel VBA | Power Automate |
|---|---|---|
| 환경 | 데스크톱 (주로 오프라인) | 클라우드 기반 (인터넷 필요) |
| 학습 곡선 | 가파름 (코딩 지식 필요) | 완만함 (시각적인 드래그 앤 드롭 인터페이스) |
| 외부 연동 | 어려움 (복잡한 API 필요) | 수백 개의 앱과 기본 연동 지원 |
| 트리거 유형 | 통합 문서 이벤트 (열기, 클릭, 변경) | 외부 이벤트 (이메일, 양식 제출, 웹훅) |
외부 소스의 데이터 입력을 자동화하거나, 스프레드시트 데이터를 기반으로 자동 이메일을 보내거나, 엑셀을 Salesforce, SharePoint 또는 Outlook과 같은 소프트웨어와 연결하는 것이 목표라면 Power Automate가 최선의 선택입니다. 반면 수백 개의 로컬 파일에 걸쳐 Excel VBA로 보고서 자동화하기처럼 엄격한 서식 지정에만 집중한다면 여전히 VBA가 우위를 점합니다.
Power Automate에서는 자동화된 시퀀스를 흐름(Flow)이라고 부릅니다. 모든 흐름은 다음 세 가지 기본 구성 요소로 이루어집니다.
Power Automate를 사용하여 엑셀을 성공적으로 자동화하려면 다음 두 가지 중요한 전제 조건을 충족해야 합니다.
Power Automate는 클라우드 서비스이므로 컴퓨터의 `C:` 드라이브에 로컬로 저장된 엑셀 파일과는 안정적으로 상호작용할 수 없습니다. 통합 문서는 비즈니스용 OneDrive 또는 SharePoint 문서 라이브러리에 저장되어 있어야 합니다.
Power Automate는 빈 워크시트에 데이터를 무작정 입력할 수 없으며 명확한 경계가 필요합니다. 대상 데이터 범위를 공식적인 엑셀 표로 지정해야 합니다. 설정 방법은 다음과 같습니다.
매우 실용적인 시나리오, 즉 수신되는 문의 이메일을 엑셀 스프레드시트에 자동으로 기록하는 과정을 진행해 보겠습니다. 이는 수동 데이터 입력을 제거하여 스타트업이 엑셀 자동화로 주당 20시간을 절약한 방법을 보여주는 완벽한 예시입니다.
OneDrive에 "Email_Log.xlsx"라는 새 엑셀 파일을 만듭니다. 다음 머리글을 사용하여 표를 생성하세요.
이 범위를 표로 지정하고 이름을 "EmailLogTable"로 설정한 뒤 파일을 닫습니다.
Power Automate(make.powerautomate.com)에 로그인합니다. 왼쪽 사이드바에서 만들기를 클릭한 다음 자동화된 클라우드 흐름을 선택합니다.
흐름 이름을 "수신 이메일 기록"으로 지정합니다. "흐름의 트리거 선택" 검색창에 "Outlook"을 입력합니다. 새 이메일이 도착할 때(V3) - Office 365 Outlook을 선택하고 만들기를 클릭합니다.
흐름 디자이너에서 트리거 상자를 클릭합니다. 여기서 특정 제목 필터(예: "문의")가 포함된 이메일에 대해서만 트리거되도록 매개변수를 지정할 수 있습니다. 이 연습에서는 받은 편지함의 모든 이메일에 대해 트리거되도록 설정하겠습니다.
+ 새 단계 버튼을 클릭합니다. "Excel"을 검색하고 Excel Online(Business) 커넥터를 선택합니다. 작업 목록에서 표에 행 추가를 선택합니다.
이제 파일 위치를 매핑합니다.
표를 선택하면 Power Automate가 1단계에서 만든 열 머리글을 자동으로 표시합니다. 각 필드를 클릭하여 이메일 트리거에서 가져온 "동적 콘텐츠"를 할당합니다.
저장을 클릭합니다. 이제 VBA 코드 한 줄 없이 완벽하게 작동하는 자동화를 만드셨습니다! 본인 계정으로 테스트 이메일을 보내고 엑셀 표가 자동으로 채워지는 것을 확인해 보세요.
Power Automate를 사용할 때 주의할 점 중 하나는 가져온 데이터가 원하는 형식과 정확히 일치하지 않을 수 있다는 것입니다. 예를 들어, 이메일 예제의 받은 시간은 복잡한 ISO 8601 타임스탬프 형식(예: 2023-11-28T14:32:00Z)으로 가져와집니다.
복잡한 Power Automate 표현식을 사용하여 이를 파싱하려고 시도하는 대신, 표 내부의 표준 엑셀 수식을 활용할 수 있습니다. 엑셀 표에 "정리된 날짜"라는 새 열을 추가하세요. 공식적인 엑셀 표를 사용하고 있으므로 첫 번째 행에 수식을 작성해 두면 Power Automate가 새 행을 추가할 때마다 자동으로 수식이 아래로 복사됩니다.
타임스탬프에서 날짜만 추출하려면 LEFT 및 VALUE 함수를 조합하여 사용할 수 있습니다.
=VALUE(LEFT([@[수신 날짜]], 10))
엑셀에서 이 새 열을 간단한 날짜 형식으로 지정합니다. 이제 흐름이 실행될 때마다 엑셀이 데이터 변환을 즉시 처리합니다.
들어오는 데이터를 상호 참조하는 기회로 활용할 수도 있습니다. 예를 들어, 발신자의 이메일이 다른 워크시트에 있는 기존 고객인지 확인하려면 자동화된 표에서 직접 INDEX MATCH: 더 뛰어난 조회 방법을 사용할 수 있습니다.
=IFERROR(INDEX(Clients!B:B, MATCH([@[발신자 이메일]], Clients!A:A, 0)), "새 리드")
이러한 설정을 통해 스프레드시트는 데이터를 자동으로 분류하는 살아 숨 쉬는 데이터베이스가 됩니다.
표에 행을 추가하는 것은 시작에 불과합니다. Power Automate는 다음과 같은 다양하고 강력한 엑셀 작업을 제공합니다.
매주 금요일 오후 5시에 판매 데이터 요약을 보내야 한다고 가정해 보겠습니다. 매주 트리거되는 예약된 클라우드 흐름을 만들 수 있습니다. 이 흐름은 "표에 있는 행 나열"을 사용하여 해당 주간의 데이터를 가져오고, "HTML 표 만들기" 데이터 작업으로 서식을 지정한 다음, Outlook 커넥터를 통해 전송합니다. 이는 복잡한 매크로 기반 보고서를 대체할 수 있는 훌륭한 대안입니다.
데이터가 엑셀에 도달하기 전에 훨씬 더 고급 데이터 조작이 필요한 경우, Power Automate의 훌륭한 파트너 역할을 하는 Power Query: 전문가처럼 데이터 가져오기 및 변환하기를 살펴보는 것도 좋습니다.
더 복잡한 흐름을 구축하다 보면 몇 가지 일반적인 문제에 부딪힐 수 있습니다. 해결 방법은 다음과 같습니다.
누군가 데스크톱 앱에서 엑셀 파일을 열어두었고 OneDrive와 제대로 동기화되지 않은 경우 Power Automate가 행을 추가하지 못할 수 있습니다. 파일 잠금을 방지하려면 파일이 항상 자동 저장으로 설정되어 있고 공유 클라우드 환경에 저장되어 있는지 확인하세요.
엑셀 표를 삭제하고 다시 만들면 새 표의 이름을 이전과 똑같이 지정하더라도 Power Automate의 연결이 끊어집니다. 엑셀은 모든 표에 숨겨진 고유 식별자를 할당합니다. 표를 다시 만들었다면 흐름으로 돌아가 드롭다운 메뉴에서 표를 다시 선택하고 동적 콘텐츠를 다시 매핑해야 합니다.
"표에 있는 행 나열" 작업을 사용할 때 Power Automate는 반환되는 행의 수를 기본값인 256개로 제한합니다. 표에 1,000개의 행이 있는 경우 모든 행을 가져오지 못합니다. 이 문제를 해결하려면 작업에서 점 세 개(...)를 클릭하고 설정을 선택한 다음, 페이지 매기기(Pagination)를 켜고 임계값을 원하는 숫자(최대 100,000)로 설정하세요.
수동 데이터 입력에서 Power Automate로 전환하려면 스프레드시트에 대한 사고방식을 바꿔야 합니다. 이제 단순히 셀을 채우는 것이 아니라 데이터 시스템을 설계하는 것입니다. 이러한 시스템이 완벽하게 작동하려면 자동화되어 들어오는 데이터를 처리할 수 있는 강력한 엑셀 수식이 표에 필요합니다.
Power Automate가 가져온 데이터를 처리하기 위해 VLOOKUP, INDEX, MATCH 또는 중첩된 IF 문과 같은 함수를 조합하는 데 어려움을 겪는다면 GPTExcel가 도와드릴 수 있습니다. 일상적인 언어로 필요한 내용을 설명하기만 하면 됩니다. 예를 들어 "자동화된 날짜 열을 확인하고 30일이 지났으면 '기한 초과'를 반환하는 수식이 필요해"라고 입력하면 GPTExcel가 복사해서 바로 붙여넣을 수 있는 정확한 수식을 즉시 생성해 줍니다.
기본 버전의 Power Automate는 대부분의 Microsoft 365 상업용 및 교육용 구독에 포함되어 있습니다. 여기에는 Excel Online, Outlook 및 SharePoint와 같은 표준 커넥터가 포함됩니다. (Salesforce 또는 맞춤형 API와 같은) 프리미엄 커넥터는 별도의 Power Automate 프리미엄 라이선스가 필요합니다.
예, 하지만 주의할 점이 있습니다. Power Automate에서 "스크립트 실행" 작업을 사용하여 Office 스크립트(TypeScript로 작성된 VBA의 클라우드 기반 대안)를 실행할 수 있습니다. 그러나 복잡한 온프레미스 데이터 게이트웨이를 사용하지 않고는 클라우드에서 직접 기존의 .xlsm VBA 매크로를 트리거할 수 없습니다.
트리거마다 폴링 간격이 다릅니다. (버튼 누르기나 HTTP 요청과 같은) 일부 트리거는 즉시 실행되지만, ("새 파일이 생성될 때" 또는 "이메일이 도착할 때"와 같은) 폴링 트리거는 Microsoft 365 라이선스 등급에 따라 이벤트를 인식하는 데 몇 분 정도 걸릴 수 있습니다.
네! Power Automate는 Microsoft 생태계에만 국한되지 않습니다. Excel Online에서 작업하는 것과 마찬가지로 Google Workspace에서 행을 추가하고, 가져오고, 데이터를 업데이트할 수 있도록 완벽하게 지원되는 Google Sheets 커넥터가 있습니다.
Power Automate를 사용하여 VBA 없이 엑셀 작업을 자동화하는 방법을 알아보세요. 이벤트 트리거 흐름 생성, 데이터 처리 및 다른 앱과 연결하는 방법을 배웁니다.
VBA를 사용하여 Excel에서 자동화된 보고 시스템을 구축하는 방법을 알아보세요. 데이터를 가져오고, 수식을 삽입하고, 셀 서식을 지정하며, 보고서를 내보내는 방법을 단계별 코드로 학습합니다.
VBA를 사용하여 엑셀 프로그래밍을 시작해 보세요. 개발도구 탭, 변수, 루프, 조건문에 대해 알아보고 첫 번째 매크로를 처음부터 직접 작성하는 방법을 배웁니다.