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

Làm cách nào để nhanh chóng trích xuất tên tệp từ đường dẫn đầy đủ trong Excel?

Giả sử bạn có một trang tính chứa danh sách các đường dẫn tệp, bây giờ bạn chỉ muốn trích xuất tên tệp (phần bên phải của dấu gạch chéo ngược cuối cùng) từ mỗi đường dẫn như ảnh chụp màn hình sau. Có thủ thuật nhanh nào để giải quyết công việc này không?

Trích xuất tên tệp từ đường dẫn đầy đủ với công thức trong Excel
Trích xuất tên tệp từ đường dẫn đầy đủ với chức năng do người dùng xác định
Trích xuất tên tệp từ đường dẫn đầy đủ với mã VBA


Trích xuất tên tệp từ đường dẫn đầy đủ với công thức trong Excel

Trong Excel, bạn có thể sử dụng công thức dưới đây để nhanh chóng chỉ trích xuất tên tệp từ đường dẫn đầy đủ.

Chọn một ô trống, nhập công thức bên dưới vào đó rồi nhấn đăng ký hạng mục thi Chìa khóa.

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

Lời khuyên: A1 là ô bạn muốn trích xuất tên tệp), và nhấn nút Enter, sau đó kéo chốt điền để điền vào dải ô bạn muốn. Sau đó, tên tệp được trích xuất từ ​​mỗi ô.

doc trích xuất tên1


Trích xuất tên tệp từ đường dẫn đầy đủ với chức năng do người dùng xác định

Với Chức năng do Người dùng Xác định sau đây, bạn có thể lấy tên tệp một cách dễ dàng và nhanh chóng.

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

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. Nhấn Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ và quay lại trang tính. Ví dụ: trong một ô trống, B1, hãy nhập công thức dưới đây vào đó và nhấn đăng ký hạng mục thi Chìa khóa.

=FunctionGetFileName(A1)

doc-extract-filenames1

Sau đó, chọn lại ô B1, kéo chốt điền vào phạm vi mà bạn muốn áp dụng công thức này và tất cả các tên tệp đã được trích xuất từ ​​các đường dẫn đầy đủ như sau:

doc-extract-filenames1


Trích xuất tên tệp từ đường dẫn đầy đủ với mã VBA

Bên cạnh Hàm do Người dùng Xác định, mã VBA cũng có thể giúp bạn trích xuất các tên tệp. Vui lòng làm như sau:

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic cho ứng dụng.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

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. Sau đó nhấn F5 để chạy mã này và chọn phạm vi mà bạn muốn trích xuất tên tệp, xem ảnh chụp màn hình:

doc-extract-filenames1

4. Và sau đó nhấp vào OK, các tên tệp đã được trích xuất từ ​​vùng chọn như sau:

Chú thích: Với mã VBA này, dữ liệu gốc sẽ bị hủy, vì vậy bạn nên sao chép một cái trước khi áp dụng mã này.


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (2)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Công thức tăng lỗi #VALUE! lỗi nếu ô nguồn chỉ có tên tệp bắt đầu bằng .. Nhúng toàn bộ công thức vào hàm IFERROR giải quyết vấn đề này, ví dụ: = IFERROR ( , A1)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chức năng rất hữu ích. Có cách nào để sửa đổi tập lệnh để nó tìm thấy tên tệp nếu đường dẫn có \ hoặc / dấu gạch chéo không?

Tôi có một bảng tính với các siêu liên kết khác nhau trong đó các đường dẫn bên dưới là \ hoặc / (dấu gạch chéo ngược hoặc dấu gạch chéo ngược) phân tách - tôi nghĩ đó là do một số liên kết đến tệp được thực hiện giống như đánh dấu trong Word ban đầu hoặc đến các tệp trong nội bộ máy chủ doc. Hoặc có thể là do một số liên kết đường dẫn được thực hiện với các liên kết đường dẫn tuyệt đối so với đường dẫn tương đối?

ví dụ:

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


Khi tôi chạy hàm getfilename, nó nhận được tất cả các tên tệp nằm trong đường dẫn với \ giữa các thư mục hoặc thư mục, nhưng các liên kết có / dấu gạch chéo được trả về như cũ.
Tôi đã thay đổi & thêm một hàm thứ hai tương tự nhưng thay thế "\" ở dòng 4 bằng "/" và gọi nó là tên tệp tin chuyển tiếp và chạy nó trong một cột riêng biệt sau khi tôi chạy hàm đầu tiên.

Chạy hết chức năng này đến chức năng khác không khó, nhưng tôi tò mò liệu bạn có thể mở rộng mã trong hoạt động splitList ở dòng 4 để bao gồm cả "\" hoặc "/" hay không. Tôi không phải là lập trình viên VBA nhưng tôi đã thử splitList = VBA.Split (FullPath, "\" hoặc "/") và nó không hoạt động.

Suy nghĩ? Tôi giả sử một số cú pháp đơn giản của nó - tôi chỉ không biết vào thời điểm này ... nhưng tôi sẽ bắt đầu xem xét các mạng xen kẽ ...

Cảm ơn!
Không có bình luận nào được đăng ở đây

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL