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

วิธีแยกชื่อไฟล์จากเส้นทางแบบเต็มใน Excel อย่างรวดเร็ว

สมมติว่าคุณมีเวิร์กชีตที่มีรายการพา ธ ไฟล์ตอนนี้คุณต้องการแยกเฉพาะชื่อไฟล์ (ส่วนขวาของแบ็กสแลชสุดท้าย) จากแต่ละพา ธ ดังภาพหน้าจอต่อไปนี้ มีเคล็ดลับง่ายๆในการจัดการกับงานนี้หรือไม่?

แยกชื่อไฟล์จากเส้นทางแบบเต็มด้วยสูตรใน Excel
แยกชื่อไฟล์จากพา ธ แบบเต็มด้วย User Defined Function
แยกชื่อไฟล์จากเส้นทางแบบเต็มด้วยรหัส VBA


แยกชื่อไฟล์จากเส้นทางแบบเต็มด้วยสูตรใน Excel

ใน Excel คุณสามารถใช้สูตรด้านล่างเพื่อแยกเฉพาะชื่อไฟล์จากเส้นทางแบบเต็มได้อย่างรวดเร็ว

เลือกเซลล์ว่างป้อนสูตรด้านล่างลงไปจากนั้นกดปุ่ม เข้าสู่ กุญแจ

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

เคล็ดลับ: A1 คือเซลล์ที่คุณต้องการแยกชื่อไฟล์) แล้วกดปุ่ม Enter จากนั้นลากจุดจับเติมเพื่อเติมเต็มช่วงที่คุณต้องการ หลังจากนั้นชื่อไฟล์จะถูกแยกออกจากแต่ละเซลล์

ชื่อสารสกัด doc 1


แยกชื่อไฟล์จากพา ธ แบบเต็มด้วย User Defined Function

ด้วยฟังก์ชันที่กำหนดโดยผู้ใช้ดังต่อไปนี้คุณสามารถรับชื่อไฟล์ได้อย่างง่ายดายและรวดเร็ว

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)

doc-extract-ชื่อไฟล์1

จากนั้นเลือกเซลล์ B1 อีกครั้งลากจุดจับเติมไปยังช่วงที่คุณต้องการใช้สูตรนี้และชื่อไฟล์ทั้งหมดถูกแยกออกจากเส้นทางแบบเต็มดังต่อไปนี้:

doc-extract-ชื่อไฟล์1


แยกชื่อไฟล์จากเส้นทางแบบเต็มด้วยรหัส VBA

นอกจาก User Defined Function แล้วโค้ด VBA ยังสามารถช่วยคุณแยกชื่อไฟล์ได้อีกด้วย กรุณาทำตามนี้:

1. กด ALT + F11 คีย์เพื่อเปิด หน้าต่าง Microsoft Visual Basic สำหรับแอปพลิเคชัน.

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 คีย์เพื่อเรียกใช้รหัสนี้และเลือกช่วงที่คุณต้องการแยกชื่อไฟล์ดูภาพหน้าจอ:

doc-extract-ชื่อไฟล์1

4. จากนั้นคลิก OKชื่อไฟล์ถูกแยกออกจากการเลือกดังนี้:

หมายเหตุ: ด้วยรหัส VBA นี้ข้อมูลต้นฉบับจะถูกทำลายดังนั้นคุณควรคัดลอกก่อนที่จะใช้รหัสนี้


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 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 และเรียกใช้ในคอลัมน์แยกต่างหากหลังจากที่ฉันเรียกใช้ฟังก์ชันแรก

การเรียกใช้ฟังก์ชันทีละฟังก์ชันไม่ใช่เรื่องยาก แต่ฉันอยากรู้ว่าคุณสามารถขยายโค้ดในการดำเนินการ splitList ในบรรทัดที่ 4 เพื่อรวมทั้ง "\" หรือ "/" ได้หรือไม่ ฉันไม่ใช่โปรแกรมเมอร์ VBA แต่ฉันลอง splitList = VBA.Split(FullPath, "\" หรือ "/") และใช้งานไม่ได้

ความคิด? ฉันคิดว่ามันเป็นวากยสัมพันธ์ง่ายๆ - ตอนนี้ฉันไม่ค่อยรู้เรื่องเลย... แต่ฉันจะเริ่มท่องเว็บอินเตอร์ ...

ตุ๊ส!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL