PDF → 엑셀 자동 변환, 클릭 한 번에 끝내는 자동화 비법
엑셀 2019 이후 버전 사용자라면, 이제 클릭 한 번에 PDF 자료를 엑셀로 변환해보세요! 직장인을 위한 실전 노하우 완벽 정리!✨
이 강의에서는 엑셀 2019 이후 버전에 추가된 파워쿼리의 'PDF에서 가져오기' 기능으로 견적서·거래내역 같은 PDF 표 데이터를 엑셀로 정확하게 불러오는 방법을 다룹니다. 가져온 데이터를 다시 활용할 수 있도록 변환 과정을 사용자 지정 함수로 등록하고, 폴더 안의 모든 PDF 파일을 한 번의 새로 고침으로 취합하는 흐름까지 단계별로 정리합니다.
관련 자료를 모았어요
더 깊이 살펴볼 수 있는 자료를 한곳에
실습 가이드
라이브 강의 전체영상도 함께 확인해보세요!
위캔두 회원이 되시면 매주 오빠두엑셀에서 진행하는 라이브강의 풀영상을 확인하실 수 있습니다.
파워쿼리로 PDF → 엑셀 불러오기
엑셀 2019 이후 버전에 새롭게 추가된 "PDF에서 가져오기" 기능을 사용하면, PDF 문서의 전체 페이지나 특정 표 데이터만 선택해 엑셀로 손쉽게 불러올 수 있습니다. 이번 강의에서는 PDF 불러오기 기능으로 단순히 데이터를 가져오는 단계를 넘어, 불필요한 공백을 제거하고 필요한 정보만 정확히 추출하는 데이터 전처리 기초까지 단계별로 살펴보겠습니다.
- 비어있는 통합문서를 실행한 후, [데이터] 탭 - [데이터 가져오기] - [파일에서] - [PDF 에서] 버튼을 클릭합니다. ([데이터 가져오기] 메뉴의 위치는 엑셀 버전에 따라 조금씩 다를 수 있습니다.)

- [데이터 가져오기] 파일 선택창이 실행되면 불러올 PDF 파일을 선택하고 [가져오기] 버튼을 클릭합니다.

- 잠시 기다리면 [탐색창]이 실행되면서 PDF에서 추출 가능한 데이터 목록을 확인할 수 있습니다. "Table"은 표 형태로 작성된 데이터만 추출하고, "Page"는 특정 페이지의 모든 텍스트를 추출합니다. 폴더 아이콘을 클릭하면 모든 페이지의 데이터를 한 번에 추출할 수 있습니다. 이번 실습에서는 견적서의 두 번째 표인 구매 내역을 추출할 것이므로, "Table002"를 선택하고 [데이터 변환] 버튼을 클릭해 파워쿼리 편집기를 실행합니다.
· Table : 특정 표의 데이터를 추출
· Page : 특정 페이지의 모든 텍스트 추출
· 폴더 : PDF 모든 텍스트 추출
- 파워쿼리 편집기에서 데이터를 가공합니다. 이번에는 구매 내역에서 비어 있는 영역을 제거하겠습니다. [품명] 필드의 필터를 클릭하고 '빈 항목 제거'를 선택하면 비어 있는 행이 한 번에 정리됩니다.

- 가공이 끝났다면 결과를 시트로 출력합니다. [파일] 탭 - [닫기 및 로드]를 클릭합니다.

- 새로운 시트가 생성되면서 완성된 데이터가 시트로 출력됩니다.

- 파워쿼리의 더 자세한 사용법이 궁금하다면 무료로 참여할 수 있는 파워쿼리 기초 완성 원데이 무료 챌린지를 확인해보세요!👇
PDF → 엑셀 변환 함수 만들기
앞 단계에서는 선택한 PDF 파일을 엑셀로 불러오는 방법을 살펴봤습니다. 하지만 새로운 파일을 불러올 때마다 동일한 과정을 수작업으로 반복하는 것은 매우 비효율적입니다. 이제 한 단계 더 나아가, 방금 진행한 PDF 변환 과정을 언제든 재사용할 수 있는 파워쿼리 함수로 등록해, 파일 경로만 바꿔주면 PDF 데이터를 자동으로 불러오는 방법을 알아보겠습니다.
- 엑셀 화면 우측의 [쿼리 및 연결] 패널에서 방금 만든 쿼리를 우클릭 - [편집]으로 이동합니다.

- 만약 [쿼리 및 연결] 패널이 보이지 않는다면 [데이터] 탭 - [쿼리 및 연결]을 클릭해 패널을 열거나, 표를 선택한 후 [쿼리] 탭 - [편집] 버튼을 클릭해 파워쿼리 편집기를 실행합니다.

- 파워쿼리 편집기가 실행되면 [홈] 탭 - [고급 편집기] 버튼을 클릭해 고급 편집기를 실행합니다.

- 고급 편집기가 실행되면, 아래와 같이 기존 쿼리 구문 위에 함수로 변환하기 위한 인수를 추가합니다.
(path as text) =>
...기존코드...
- 이어서 기존 코드에서 파일 경로가 지정된 부분을 path로 변경합니다.

- 모두 수정한 후 [완료] 버튼을 클릭하면 쿼리가 함수로 전환됩니다. 함수를 우클릭 - [이름 바꾸기]를 선택해 함수 이름을 원하는 값으로 변경합니다.

- 이제 path 인수에 PDF로 변환할 파일 경로를 입력하고 [호출] 버튼을 클릭하면, 선택한 PDF의 구매 내역 데이터가 파워쿼리 편집기로 출력됩니다.

- 테스트로 출력된 쿼리는 우클릭 - [삭제]로 제거한 뒤, [닫기 및 로드]를 클릭해 완성된 함수를 저장합니다.

폴더 내 모든 PDF 파일 합치기
이제 마지막 단계로, 폴더 안에 있는 모든 PDF 파일을 한 번에 취합하는 방법을 살펴보겠습니다. 앞 단계에서 PDF 변환 함수를 만들어 두었기 때문에, 폴더 안의 모든 PDF 파일을 취합하는 쿼리도 어렵지 않게 구성할 수 있습니다. 이 쿼리를 활용하면 폴더에 새 PDF 파일을 추가하거나 변경했을 때 엑셀에서 '새로고침' 한 번으로 모든 데이터가 실시간으로 업데이트되는 자동화 서식을 만들 수 있습니다.
- [데이터] 탭 - [데이터 가져오기] - [파일에서] - [폴더에서]를 클릭합니다.

- 폴더 선택창이 나오면 PDF 파일이 위치한 폴더 경로를 선택하고 [열기] 버튼을 클릭합니다.

- 폴더 안의 파일 목록에 이상이 없는지 확인한 후, [데이터 변환] 버튼을 클릭해 파워쿼리 편집기를 실행합니다.

- PDF 출력 함수에 사용할 파일 경로를 만들기 위해, 필드 목록에서 FolderPath와 Name 을 제외한 나머지 필드를 모두 제거합니다.

- Ctrl + A 로 모든 필드를 선택한 후, [변환] 탭 - [열 병합] 버튼을 클릭하고 '열 병합' 대화상자가 나타나면 [확인] 버튼을 클릭해 구분 기호 없이 열을 병합합니다.

- 이제 완성된 파일 경로로 PDF 불러오기 함수를 실행합니다. [열 추가] 탭 - [사용자 지정 함수 호출] 버튼을 클릭합니다.

- '사용자 지정 함수 호출' 대화상자가 실행되면, 실행할 함수로 이전에 만든 함수를 선택하고 함수의 인수로는 파일 경로가 입력된 필드를 지정합니다. 선택을 마친 후 [확인] 버튼을 클릭해 함수를 호출합니다.

- Table이 정상적으로 출력된 것을 확인했다면, [확장] 버튼을 클릭하고 '원래 열 이름을 접두사로 사용' 옵션은 체크 해제한 뒤 [확인] 버튼을 클릭해 필드를 펼칩니다.

- [파일] 탭 - [닫기 및 로드] 버튼을 클릭해 완성된 쿼리를 출력하면, 폴더 안의 모든 PDF 파일이 하나의 표로 취합되어 시트에 출력됩니다.

- 이제 폴더 안의 PDF 파일을 추가하거나 변경한 후, 표를 우클릭 - [새로고침] 버튼을 클릭하면 폴더 안의 PDF 데이터가 실시간으로 갱신됩니다.
오빠두Tip : 파일명을 기준으로 구매 날짜와 구매처 이름을 분리·가공하는 방법은 영상 강의에서 알기 쉽게 정리했으니 함께 참고하세요!😊
여러 페이지를 한 번에 합치는 방법
여러 페이지에 걸친 PDF 데이터를 취합할 때에는 페이지마다 구성된 필드 개수가 달라, 마지막 단계에서 데이터가 불규칙하게 합쳐지는 문제가 발생할 수 있습니다. 이때는 마지막 단계에 열의 개수를 맞춰 주는 쿼리를 추가해 해결합니다.
- [데이터] 탭 - [데이터 가져오기] - [PDF 에서]로 불러올 PDF 파일을 선택하고, '폴더' 아이콘을 클릭한 후 [데이터 변환] 버튼을 클릭합니다.

- Kind 필드에서 'Page' 만 보이도록 필터를 적용한 후, Data 필드를 확장합니다.

- 여러 페이지의 PDF 데이터를 확장하면, 아래 그림처럼 페이지마다 필드 개수가 달라 데이터가 불규칙하게 취합되는 문제가 나타납니다. 이럴 때는 실습 파일에 함께 첨부한 열 병합 함수를 사용합니다.

- 쿼리 목록을 우클릭 - [새 쿼리] - [기타 원본] - [빈 쿼리]를 추가한 후, 열 병합 함수를 등록합니다.

- 함수 이름은 "MergeCols"로 변경합니다.

- 이어서 여러 페이지를 취합한 쿼리를 선택하고 [홈] 탭 - [고급 편집기]에서 쿼리의 마지막 단계를 MergeCols 함수로 감싸 주면, 빈 필드가 정리되면서 모든 페이지의 데이터가 깔끔하게 취합됩니다.

- 여러 페이지를 합치는 방법의 자세한 영상 설명은 아래 멤버십 라이브 전체 영상에서 알기 쉽게 정리했으니 참고하세요!👇