IMPORT 함수로 폴더 속 CSV 파일 자동 취합하기
IMPORTCSV 함수로 CSV 파일을 실시간으로 불러오고, 파워쿼리와 사용자 정의 함수를 결합해 폴더 안 여러 파일을 자동으로 취합하는 보고서 제작 흐름을 정리합니다.
이 강의에서는 4월에 업데이트된 IMPORTCSV 함수로 외부 CSV 파일을 실시간으로 불러오고 취합하는 방법을 다룹니다. 머리글 제외와 마지막 행 선택 같은 인수 활용법부터 GROUPBY 함수로 만드는 실시간 집계 보고서, 그리고 파워쿼리와 사용자 정의 함수를 결합해 폴더 안 모든 파일을 자동으로 취합하는 보고서 제작 흐름까지 단계별로 정리합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
IMPORTCSV 함수 기초 사용 방법
M365 최신 버전에 추가된 IMPORTCSV 함수는 쉼표로 구분된 외부 파일을 빈 셀에 직접 불러오는 함수입니다. PC 안의 파일은 물론 원드라이브·구글드라이브·드롭박스 같은 클라우드 경로도 동일한 방식으로 참조할 수 있습니다.
- 먼저 IMPORTCSV 함수로 불러올 파일 경로를 복사하겠습니다. 탐색기에서 대상 CSV 파일을 선택한 뒤 단축키 Ctrl + Shift + C로 전체 경로를 복사합니다.

- 데이터를 출력할 빈 셀을 선택하고 IMPORTCSV 함수를 입력합니다.

- 복사한 경로를 함수의 첫 번째 인수로 붙여넣고 활성 콘텐츠 보안 알림창이 뜨면 모두 붙여넣기로 허용합니다. 이 때, 파일 경로는 큰따옴표(")로 묶어서 입력하는 것을 주의합니다.

- 엔터로 수식을 실행하면 해당 파일의 데이터가 동적 배열로 반환됩니다.

특정 폴더와 파일을 선택해 실시간으로 출력하기
IMPORTCSV 함수의 일부 경로를 셀 참조로 바꾸면, 폴더와 파일을 직접 선택해 불러오는 동적 보고서를 만들 수 있습니다. 예를 들어, 업체별 폴더 안에 월별로 CSV 파일이 정리된 구조에서 업체명(폴더)과 월(파일) 두 개를 바꿔 IMPORTCSV로 다른 파일을 즉시 참조할 수 있습니다.
- 대표 샘플 파일 한 개의 전체 경로를 복사한 후, 보조로 사용할 셀에 등호(=)로 시작하는 수식 형태로 붙여넣습니다.

- 경로 안에서 업체 폴더 이름과 파일 이름 자리를 큰따옴표 두 개와 & 기호로 분리하고, 그 사이에 업체명 셀과 월 셀을 참조합니다.

- 이제 IMPORTCSV 함수의 인수로 파일 경로가 작성된 셀을 지정하면 업체와 월을 바꿀 때마다 데이터가 자동 갱신됩니다.

두 번째 인수 행 건너뛰기에 1을 입력하면 머리글이 제거되고, 음수 -1을 입력하면 마지막 행이 제외됩니다. 세 번째 인수 행 가져오기는 머리글을 건너뛴 뒤 가져올 행 개수를 지정해 최근 데이터만 추출할 때 사용합니다.
이렇게 불러온 동적 배열은 셀 주소 뒤에 # 기호를 붙여 GROUPBY 함수의 입력 범위로 그대로 넘길 수 있습니다. CHOOSECOLS 함수로 날짜 열과 합계 열만 골라 SUM 집계를 지정하면, 업체와 월을 바꿀 때마다 결과가 자동으로 갱신되는 집계 보고서가 완성됩니다. 집계 결과 셀을 차트로 시각화하면 데이터·요약·그래프가 모두 실시간 연동되는 단일 화면 보고서가 만들어집니다.
여러 파일을 한 번에 취합하는 IMPORT 함수 만들기
IMPORTCSV 함수는 단일 파일만 지원하므로 폴더 안 여러 CSV를 한 번에 합치려면 이름 관리자에 사용자 정의 공식을 등록해 활용합니다. 아래 LAMBDA 함수 마스터 공식을 복사한 후, [수식] - [이름 관리자] - [새로 만들기] 에서 '참조 대상'에 붙여넣어 'IMPORTFILES' 라는 함수를 등록합니다.
=LAMBDA(범위, LET( path, TRIMRANGE(범위), h, TAKE(IMPORTCSV(INDEX(path,1)), 1), _Bi, LAMBDA(me,arr, IF(ROWS(arr)=1, IMPORTCSV(arr, 1), VSTACK( me(me, TAKE(arr, INT(ROWS(arr)/2))), me(me, DROP(arr, INT(ROWS(arr)/2))) ) ) ), VSTACK(h, _Bi(_Bi, path)) ) )
등록을 마치면 빈 셀에 =IMPORTFILES(파일경로범위) 형태로 호출할 수 있습니다.

인수로는 단일 파일 경로가 아니라 여러 파일 경로가 입력된 범위를 통째로 넘겨야 하며, 빈 칸이 섞여 있어도 무시되므로 범위를 넉넉하게 지정해도 됩니다. 파워쿼리를 활용해 폴더 내 데이터를 일괄 취합하는 방법은 다음 과정에서 알아보겠습니다.
파워쿼리로 폴더 내 파일 목록 실시간 취합 보고서 만들기
업체 드롭다운을 바꿨을 때 해당 폴더의 파일 목록이 자동 갱신되고, 그 목록이 곧바로 IMPORTFILES 함수로 취합되는 흐름을 파워쿼리로 구성합니다. 폴더 안에 새 파일을 추가해도 새로 고침 한 번으로 모든 파일이 보고서에 반영됩니다.
- 데이터 탭의 데이터 가져오기 → 파일에서 → 폴더에서로 식자재 내역 상위 폴더를 지정합니다.

- 창 오른쪽 아래 화살표에서 다음으로 로드를 선택합니다.

- 데이터 가져오기 창이 실행되면, [표]를 클릭해 빈 워크시트 셀에 표 형식으로 출력합니다.

- 오른쪽 열에 머리글 파일 경로를 만들고 폴더 경로와 파일명을 연결해 완전한 경로를 구성합니다.

- TEXTAFTER와 TEXTBEFORE 함수로 폴더 경로에서 업체명만 추출해 별도 열로 분리합니다.
=TEXTBEFORE(TEXTAFTER([@파일경로],"식자재내역\"),"\")

- 업체 선택 셀과 업체명 열을 비교하는 FILTER 함수를 작성해 선택한 업체의 파일 경로만 동적으로 추려냅니다.
=FILTER(식자재내역[파일경로],식자재내역[업체명]=J2)

- FILTER 결과 셀 뒤에 # 기호를 붙여 IMPORTFILES 함수에 동적 배열로 전달하면 특정 폴더의 모든 파일이 실시간으로 취합되는 보고서가 완성됩니다.

완성된 보고서는 폴더에 새로운 CSV를 떨어뜨리고 파워쿼리 표를 우클릭 → 새로 고침만 해주면 추가된 파일까지 자동으로 합산됩니다. 함수와 파워쿼리를 결합하면 매월 반복하던 복사·붙여넣기 작업을 새로 고침 한 번으로 대체할 수 있습니다.
