엑셀 파일경로에서 파일명 추출하는 7가지 실무 방법과 핵심 수식

엑셀 파일경로에서 파일명 추출하는 7가지 실무 방법과 핵심 수식
엑셀 파일경로에서 파일명 추출하는 7가지 실무 방법과 핵심 수식

엑셀 작업을 하다 보면 전체 파일 경로에서 파일명만 따로 추출해야 하는 상황이 자주 발생합니다. C:\Users\Documents\report.xlsx 같은 전체 경로에서 report.xlsx만 뽑아내는 것처럼요. 이런 작업을 수동으로 하면 시간도 오래 걸리고 실수할 가능성도 높습니다. 오늘은 엑셀에서 파일 경로에서 파일명을 효율적으로 추출하는 다양한 방법들을 자세히 알아보겠습니다. 수식 활용부터 VBA 코드까지, 상황에 맞는 최적의 방법을 찾아보세요.

MID와 SUBSTITUTE 함수로 파일명 추출하기

엑셀의 내장 함수만으로 파일명을 추출하는 가장 기본적인 방법입니다. =MID(A1,FIND(\*\,SUBSTITUTE(A1,\\,\*\,LEN(A1)-LEN(SUBSTITUTE(A1,\\,\))))+1,LEN(A1)) 수식을 사용합니다. 이 수식의 핵심은 SUBSTITUTE 함수로 백슬래시를 별표로 바꾸고, FIND 함수로 마지막 백슬래시 위치를 찾아내는 것입니다. MID 함수는 그 위치부터 문자열 끝까지를 추출해 파일명만 남기게 됩니다. Microsoft MID 함수 가이드에서 더 자세한 내용을 확인할 수 있습니다.

RIGHT 함수와 LEN 함수 조합으로 간단 추출

더 간단한 방법으로는 RIGHT 함수를 활용할 수 있습니다. =RIGHT(A1,LEN(A1)-FIND(\~\,SUBSTITUTE(A1,\\,\~\,LEN(A1)-LEN(SUBSTITUTE(A1,\\,\))))) 수식을 사용하면 됩니다. 이 방법은 백슬래시를 물결표시(~)로 대체한 후 마지막 백슬래시 이후의 문자들을 추출합니다.

  • RIGHT 함수는 문자열 오른쪽부터 지정한 개수만큼 문자를 반환합니다
  • LEN 함수로 전체 문자열 길이를 구하고 백슬래시 위치를 뺀 값을 계산합니다
  • SUBSTITUTE로 백슬래시를 다른 문자로 바꿔 위치를 찾기 쉽게 만듭니다
  • 이 방법은 상대적으로 이해하기 쉽고 응용하기도 좋습니다

VBA 사용자 정의 함수로 파일명 추출하기

반복적인 파일명 추출 작업이 많다면 VBA로 사용자 정의 함수를 만드는 것이 효율적입니다. Function FunctionGetFileName(FullPath As String) As String 함수를 만들어 사용하면 됩니다. Excel VBA 개발자 가이드를 참고하면 더 고급 함수도 만들 수 있습니다.

방법 장점 단점
내장 함수 조합 별도 설치 없이 바로 사용 가능 수식이 복잡하고 이해하기 어려움
VBA 사용자 함수 간단한 함수명으로 쉽게 사용 VBA 지식 필요, 보안 설정 필요
VBA 매크로 대량 데이터 일괄 처리 가능 원본 데이터 변경 위험성
파워쿼리 데이터 변환 전문 도구 엑셀 2016 이상 버전 필요

파워쿼리를 활용한 파일명 추출 방법

엑셀 2016 이상에서 사용할 수 있는 파워쿼리는 데이터 변환에 특화된 도구입니다. 데이터 탭에서 \텍스트/CSV에서\ 옵션을 선택하고 파일 경로 데이터를 불러옵니다. 그 다음 열 변환에서 \구분 기호로 열 분할\을 선택하고 백슬래시(\)를 구분자로 지정하면 됩니다. 마지막 열이 바로 파일명이 되며, 불필요한 열들은 삭제하면 깔끔하게 정리됩니다. 이 방법의 장점은 대량의 데이터도 빠르게 처리할 수 있다는 점입니다.

파워쿼리는 데이터 정제와 변환에 매우 강력한 도구입니다. 파일 경로뿐만 아니라 다양한 형태의 텍스트 데이터를 원하는 형태로 변환할 수 있습니다. Power Query 공식 가이드에서 더 많은 활용법을 확인하실 수 있습니다.

정규표현식을 활용한 고급 파일명 추출

엑셀 365나 최신 버전에서는 REGEX 함수를 사용할 수 있습니다. =REGEX(A1,\[^\\]*$\) 패턴을 사용하면 백슬래시가 아닌 문자들 중 문자열 끝에 위치한 것들을 찾아냅니다. 이는 파일명에 해당하는 부분입니다. 정규표현식은 복잡해 보이지만 패턴을 이해하면 매우 강력한 도구가 됩니다. [^\\]*$ 패턴에서 ^는 시작, \\는 백슬래시, *는 0개 이상 반복, $는 문자열 끝을 의미합니다.

정규표현식의 또 다른 장점은 확장자만 따로 추출하거나 파일명에서 특정 패턴을 찾는 등 복잡한 작업도 가능하다는 점입니다. 예를 들어 \\.(\w+)$\ 패턴으로 확장자만 추출할 수 있고, \\([^\\]+)\.\w+$\ 패턴으로 확장자를 제외한 파일명만 가져올 수도 있습니다. RegExr 정규표현식 연습 사이트에서 다양한 패턴을 테스트해 볼 수 있습니다.

실무에서 주의해야 할 파일명 추출 팁

파일명 추출 작업을 할 때 몇 가지 주의사항이 있습니다. 첫째, 경로 구분자가 백슬래시(\)가 아닌 슬래시(/)인 경우도 있으니 데이터를 먼저 확인해야 합니다. 둘째, 파일명에 특수문자가 포함된 경우 예상과 다른 결과가 나올 수 있으니 테스트를 거쳐야 합니다. 셋째, VBA 코드를 사용할 때는 반드시 원본 데이터를 백업한 후 작업하는 것이 안전합니다. VBA는 원본 데이터를 직접 수정하기 때문에 실수하면 복구가 어려울 수 있습니다.

대량의 데이터를 처리할 때는 작업 시간도 고려해야 합니다. 수천 개의 경로에서 파일명을 추출하는 경우 파워쿼리나 VBA 매크로가 내장 함수보다 빠를 수 있습니다. 또한 작업 결과는 별도 열에 저장하여 원본과 비교 검증하는 것이 좋습니다. 이렇게 하면 추출 과정에서 발생할 수 있는 오류를 쉽게 발견할 수 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤