Note: The other languages of the website are Google-translated. Back to English

Excel의 전체 경로에서 파일 이름을 빠르게 추출하는 방법은 무엇입니까?

파일 경로 목록이 포함 된 워크 시트가 있다고 가정하면 다음 스크린 샷과 같이 각 경로에서 파일 이름 (마지막 백 슬래시의 오른쪽 부분) 만 추출하려고합니다. 이 작업을 처리 할 수있는 빠른 트릭이 있습니까?

Excel의 수식을 사용하여 전체 경로에서 파일 이름 추출
사용자 정의 함수로 전체 경로에서 파일 이름 추출
VBA 코드로 전체 경로에서 파일 이름 추출


Excel의 수식을 사용하여 전체 경로에서 파일 이름 추출

Excel에서는 아래 공식을 사용하여 전체 경로에서 파일 이름 만 빠르게 추출 할 수 있습니다.

빈 셀을 선택하고 아래 수식을 입력 한 다음 엔터 버튼 키.

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

방문 꿀팁: A1은 파일 이름을 추출하려는 셀입니다), Enter 버튼을 누른 다음 채우기 핸들을 드래그하여 원하는 범위를 채우십시오. 그 후 각 셀에서 파일 이름이 추출됩니다.

문서 추출 이름 1


사용자 정의 함수로 전체 경로에서 파일 이름 추출

다음 사용자 정의 함수를 사용하면 파일 이름을 쉽고 빠르게 얻을 수 있습니다.

1. 누르고 ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 다음 코드를 모듈 창.

Function FunctionGetFileName(FullPath As String) As String
'Update 20140210
Dim splitList As Variant
splitList = VBA.Split(FullPath, "\")
FunctionGetFileName = splitList(UBound(splitList, 1))
End Function

3. 를 누르십시오 다른 + Q 닫는 키 응용 프로그램 용 Microsoft Visual Basic 창을 열고 워크 시트로 돌아갑니다. 예를 들어 빈 셀 B1에서 아래 수식을 입력하고 엔터 버튼 키.

=FunctionGetFileName(A1)

문서 추출 파일 이름1

그런 다음 B1 셀을 다시 선택하고 채우기 핸들을이 수식을 적용 할 범위로 드래그하면 다음과 같은 결과로 전체 경로에서 모든 파일 이름이 추출됩니다.

문서 추출 파일 이름1


VBA 코드로 전체 경로에서 파일 이름 추출

사용자 정의 함수 외에도 VBA 코드는 파일 이름을 추출하는 데 도움이 될 수 있습니다. 다음과 같이하십시오 :

1. 누르고 ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여 넣습니다.

Sub GetFileName()
'Update 20140210
Dim Rng As Range
Dim WorkRng As Range
Dim splitList As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    splitList = VBA.Split(Rng.Value, "\")
    Rng.Value = splitList(UBound(splitList, 1))
Next
End Sub

3. 그런 다음 F5 키를 눌러이 코드를 실행하고 파일 이름을 추출 할 범위를 선택합니다. 스크린 샷을 참조하십시오.

문서 추출 파일 이름1

4. 그런 다음 OK, 다음과 같이 선택 항목에서 파일 이름이 추출되었습니다.

주의 사항:이 VBA 코드를 사용하면 원본 데이터가 삭제되므로이 코드를 적용하기 전에 복사해야합니다.


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (2)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
수식은 #VALUE를 발생시킵니다! 소스 셀에 시작할 파일 이름만 있는 경우 오류가 발생합니다. IFERROR 함수에 전체 수식을 포함하면 이 문제가 해결됩니다(예: =IFERROR( ,A1)
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
매우 유용한 기능. 경로에 \ 또는 / 슬래시가 있는 경우 파일 이름을 찾도록 스크립트를 수정하는 방법이 있습니까?

기본 경로가 \ 또는 /(백슬래시 또는 슬래시)로 구분되는 다양한 하이퍼링크가 있는 스프레드시트가 있습니다. 파일에 대한 일부 링크가 원래 Word의 책갈피로 수행되었거나 내부 파일에 대한 문서 서버. 아니면 일부 경로 링크가 절대 경로와 상대 경로 링크로 만들어졌기 때문일까요?

예 :

../../../../Documents/2ndQuarter/2019/standardcost_widget12345.pdf
or
\fileserver\factory23\Operations\Parts_Mgt\Documents\2ndQuarter\2019\standardcost_widget12345.pdf


getfilename 함수를 실행하면 디렉토리나 폴더 사이에 \가 있는 경로에 있던 모든 파일 이름을 얻었지만 / 슬래시가 있는 링크는 그대로 반환되었습니다.
비슷한 두 번째 함수를 변경 및 추가했지만 4행의 "\"를 "/"로 바꾸고 이를 forwardslashgetfilename이라고 부르고 첫 번째 함수를 실행한 후 별도의 열에서 실행합니다.

하나의 기능을 차례로 실행하는 것은 어렵지 않지만 "\" 또는 "/"를 모두 포함하도록 4행의 splitList 작업에서 코드를 확장할 수 있는지 궁금합니다. 저는 VBA 프로그래머가 아니지만 splitList = VBA.Split(FullPath, "\" 또는 "/") 시도했지만 작동하지 않았습니다.

생각? 나는 그것의 간단한 구문을 가정하고 있습니다 - 나는 이 시점에서 단지 단서가 없습니다... 그러나 나는 인터웹을 파고들기 시작할 것입니다...

TKS!
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호