엑셀(Microsoft Excel)로 작업하다 보면 주어진 경로에서 파일 이름만 추출해야 하는 경우가 종종 있습니다. 경로의 길이가 길든 짧든 상관없이 필요할 때가 있죠. 이번 글에서는 엑셀에서 경로로부터 파일명을 손쉽게 추출하는 다양한 방법을 소개합니다.
엑셀에서 경로로부터 파일명을 추출하는 6가지 방법
아래에서는 엑셀에서 경로에서 파일명을 가져오는 6가지 빠르고 간편한 방법을 정리했습니다.
예시로 워크시트에 파일 경로 데이터가 들어 있는 데이터셋이 있다고 가정해 보겠습니다. 함수와 VBA 코드를 활용해 해당 경로에서 파일명을 추출하는 과정을 하나씩 살펴보겠습니다.

1. 찾기 및 바꾸기 기능으로 파일명 추출하기
경로에서 파일명을 추출하는 가장 간단한 방법 중 하나는 엑셀의 '찾기 및 바꾸기' 기능을 활용하는 것입니다. 이 방법을 사용하면 복잡한 수식 없이도 파일명만 남길 수 있습니다.
실행 단계:
- 먼저 워크시트에서 경로가 입력된 셀 범위(B5:B11)를 선택합니다.
- 선택한 상태에서 키보드로 Ctrl+H를 눌러 찾기 및 바꾸기 창을 엽니다.
- 새 창이 나타나면 '찾을 내용' 입력란에 *\ 를 입력하고 '모두 바꾸기'를 클릭합니다.
- 그러면 같은 열에서 경로 부분이 모두 제거되고 파일명만 남습니다. 아주 간단하죠?



2. LEN, SUBSTITUTE, FIND, MID 함수 조합으로 파일명 추출하기
경로에서 파일명을 추출할 때는 LEN, SUBSTITUTE, FIND, MID 함수를 조합할 수도 있습니다. 걱정하지 마세요. 아래 수식을 그대로 적용하기만 하면 결과를 바로 확인할 수 있습니다.
실행 단계:
- 결과를 표시할 셀(C5)을 선택하고 아래 수식을 입력합니다.
=MID(B5,FIND("*",SUBSTITUTE(B5,"\","*",LEN(B5)-LEN(SUBSTITUTE(B5,"\",""))))+1,LEN(B5))
- LEN(B5): LEN 함수가 전체 문자열 길이인 34를 반환합니다.
- LEN(SUBSTITUTE(B5,"\\","")): 이 부분에서 SUBSTITUTE 함수는 "\\" 문자를 공백으로 대체하여 "C:UsersPublicPicturesDeer baby"를 만듭니다. 따라서 LEN 함수는 30이라는 길이를 반환합니다.
- SUBSTITUTE(B5,"\\","*",34-30): 이 인수에서 SUBSTITUTE 함수는 마지막 "\\"를 "*"로 대체한 문자열을 반환합니다.
- FIND("*",C:\Users\Public\Pictures*Deer baby): 여기서 FIND 함수는 "*" 문자의 위치를 찾아 25를 출력합니다. 즉, 25번째 위치에 있다는 의미입니다.
- =MID(B5,25+1,LEN(B5)): 마지막 단계에서 MID 함수는 25번째 위치부터 시작해 나머지 문자를 모두 추출합니다. 최종 결과는 "Deer baby"가 됩니다.
- Enter 키를 누른 후 채우기 핸들을 아래로 드래그하여 나머지 셀까지 채웁니다.
- 이렇게 하면 엑셀에서 경로로부터 파일명을 성공적으로 추출할 수 있습니다.

3. REPT, SUBSTITUTE, RIGHT, TRIM 함수 조합으로 파일명 추출하기
원한다면 REPT, SUBSTITUTE, RIGHT, TRIM 함수를 조합해서도 경로에서 파일명을 추출할 수 있습니다.
실행 단계:
- 먼저 셀(C5)을 선택하고 아래 수식을 입력합니다.
=TRIM(RIGHT(SUBSTITUTE(B5,"\",REPT(" ",100)),99))
- Enter 키를 누른 후 채우기 핸들을 아래로 끌어 모든 셀에 결과를 채웁니다.

4. SUBSTITUTE, LEN, CHAR, FIND, MID, IFERROR 함수 조합으로 확장자 없는 파일명 추출하기
경로 안에 확장자(형식 이름)가 포함되어 있는 경우가 많습니다. 하지만 때로는 확장자를 제외한 순수한 파일명만 필요할 때가 있죠. 이럴 때 SUBSTITUTE, LEN, CHAR, FIND, MID, IFERROR 함수를 조합하면 파일명만 빠르게 추출할 수 있습니다.
여기서는 파일 이름에 확장자가 포함된 파일 경로 데이터셋이 있다고 가정하고, 전체 경로에서 파일명만 분리해 보겠습니다.

실행 단계:
- 마찬가지로 셀(C5)을 선택하고 아래 수식을 적용합니다.
=IFERROR(MID(B5,FIND(CHAR(1),SUBSTITUTE(B5,"\\",CHAR(1),LEN(B5)-LEN(SUBSTITUTE(B5,"\\",""))))+1,FIND(CHAR(1),SUBSTITUTE(B5,".",CHAR(1),LEN(B5)-LEN(SUBSTITUTE(B5,".",""))))-FIND(CHAR(1),SUBSTITUTE(B5,"\\",CHAR(1),LEN(B5)-LEN(SUBSTITUTE(B5,"\\",""))))-1),"")
- Enter 키를 누르고 채우기 핸들을 아래로 드래그합니다.
- 순식간에 원하는 결과물을 얻을 수 있습니다.

5. 사용자 정의 함수(UDF)를 만들어 파일명 추출하기
VBA(Visual Basic for Applications)는 엑셀에서 작업을 사용자화하고 자동화하는 데 사용됩니다. 자신만의 사용자 정의 함수를 만들면 파일명을 손쉽게 가져올 수 있습니다. 아래 단계를 따라 해 보세요.
실행 단계:
- 워크시트 화면에서 Alt+F11을 눌러 'Microsoft Visual Basic for Applications' 창을 엽니다.

- 새 창에서 '삽입' 메뉴의 '모듈' 옵션을 클릭합니다.

- 모듈에 아래 코드를 붙여 넣습니다.
Function GetFileName(FullPath As String) As String
Dim List As Variant
List = VBA.Split(FullPath, "\\")
GetFileName = List(UBound(List, 1))
End Function

- 코드를 저장한 후 VBA 창을 최소화합니다.
- 이제 셀(C5)을 선택하고 정의한 함수를 입력한 뒤 괄호 안에 경로가 있는 셀(B5)을 넣습니다.
=GetFileName(B5)
- Enter 키를 누른 후 채우기 핸들을 아래로 드래그하면 새 열에 결과가 채워집니다.

6. VBA 코드를 직접 실행하여 파일명 추출하기
사용자 정의 함수가 다소 어렵게 느껴진다면, 아래처럼 VBA 코드를 직접 실행하는 방법으로 파일명을 추출할 수도 있습니다.
실행 단계:
- 같은 방식으로 Alt+F11을 눌러 'Microsoft Visual Basic for Applications' 창을 엽니다.

- '삽입' 메뉴에서 '모듈'을 선택합니다.

- 새 모듈에 아래 코드를 입력한 뒤 상단 리본 메뉴의 '실행(Run)' 버튼을 클릭합니다.
Sub filePath()
Dim filename As String
Dim x As Variant
For Each cell In ActiveSheet.Range("B5:B11")
x = Split(cell.Value, Application.PathSeparator)
filename = x(UBound(x))
cell.Value = filename
Next cell
End Sub

- 이제 엑셀 워크시트에서 경로 대신 파일명만 남은 것을 확인할 수 있습니다.

알아두어야 할 사항
- 6번 방법에서는 해당 셀들에 코드를 적용하기 위해 범위(B5:B11)를 지정했습니다. 동일한 VBA 코드를 사용하실 때는 반드시 셀 범위를 본인 데이터에 맞게 수정하세요.
마무리
이번 글에서는 엑셀에서 경로로부터 파일명을 추출하는 다양한 방법을 모두 다루어 보았습니다. 연습용 통합 문서를 내려받아 직접 실습해 보시기 바랍니다. 도움이 되었기를 바라며, 사용 경험이나 궁금한 점은 댓글로 알려주세요. 항상 여러분의 질문에 성심껏 답변드리겠습니다. 즐거운 학습 되세요!