สารบัญ
ในสองสามบทความที่ผ่านมา เราได้ดูวิธีต่างๆ ในการลบอักขระออกจากสตริงใน Excel วันนี้เราจะตรวจสอบกรณีการใช้งานอีกหนึ่งกรณี นั่นคือ วิธีลบทุกอย่างก่อนหรือหลังอักขระใดอักขระหนึ่ง
ลบข้อความก่อน หลัง หรือระหว่างอักขระ 2 ตัวด้วยการค้นหา & แทนที่
สำหรับการจัดการข้อมูลในหลายเซลล์ ค้นหาและแทนที่เป็นเครื่องมือที่เหมาะสม หากต้องการลบส่วนของสตริงที่นำหน้าหรือตามหลังอักขระที่ระบุ ให้ทำตามขั้นตอนต่อไปนี้:
- เลือกเซลล์ทั้งหมดที่คุณต้องการลบข้อความ
- กด Ctrl + H เพื่อเปิดกล่องโต้ตอบ ค้นหาและแทนที่
- ในกล่อง ค้นหาอะไร ให้ป้อนหนึ่งในชุดค่าผสมต่อไปนี้:
- หากต้องการลบข้อความ ก่อนอักขระที่ระบุ ให้พิมพ์อักขระที่นำหน้าด้วยเครื่องหมายดอกจัน (*char)
- หากต้องการลบข้อความ หลังอักขระบางตัว ให้พิมพ์อักขระตามด้วยเครื่องหมายดอกจัน (char *).
- หากต้องการลบสตริงย่อย ระหว่างอักขระสองตัว ให้พิมพ์เครื่องหมายดอกจันที่ล้อมรอบด้วยอักขระ 2 ตัว (char*char)
- ปล่อย แทนที่ ด้วย กล่องว่าง
- คลิก แทนที่ทั้งหมด .
ตัวอย่างเช่น หากต้องการลบ ทุกอย่างหลังเครื่องหมายจุลภาค รวมถึงเครื่องหมายจุลภาคด้วย ใส่เครื่องหมายจุลภาคและเครื่องหมายดอกจัน (,*) ในช่อง ค้นหาอะไร และคุณจะได้ผลลัพธ์ต่อไปนี้:
หากต้องการลบสตริงย่อย ก่อนเครื่องหมายจุลภาค ให้พิมพ์เครื่องหมายดอกจัน เครื่องหมายจุลภาคทุกอย่างที่อยู่หลังเครื่องหมายจุลภาคที่ 1 ใน A2 สูตรใน B2 คือ:
=RemoveText(A3, ", ", 1, TRUE)
หากต้องการลบทุกอย่างที่อยู่หน้าเครื่องหมายจุลภาคที่ 1 ใน A2 สูตรใน C2 คือ:
=RemoveText(A3, ", ", 1, FALSE)
เนื่องจากฟังก์ชันแบบกำหนดเองของเรายอมรับ สตริงสำหรับตัวคั่น เราจึงใส่เครื่องหมายจุลภาคและเว้นวรรค (", ") ในอาร์กิวเมนต์ที่ 2 เพื่อไม่ให้เกิดปัญหาในการตัดแต่งช่องว่างนำหน้าในภายหลัง
ฟังก์ชันที่กำหนดเองของเราทำงานได้อย่างสวยงามใช่ไหม แต่ถ้าคุณคิดว่ามันเป็นโซลูชันที่ครอบคลุม แสดงว่าคุณยังไม่เห็นตัวอย่างถัดไป :)
ลบทุกอย่างก่อน หลัง หรือระหว่างอักขระ
หากต้องการตัวเลือกเพิ่มเติมสำหรับการลบอักขระแต่ละตัวหรือ ข้อความจากหลายเซลล์ โดยการจับคู่หรือตำแหน่ง เพิ่ม Ultimate Suite ไปยังกล่องเครื่องมือ Excel ของคุณ
ที่นี่ เราจะพิจารณาคุณลักษณะ ลบตามตำแหน่ง ที่อยู่บน 9>Ablebits Data tab > Text group > Remove .
ด้านล่าง เราจะกล่าวถึงทั้งสอง สถานการณ์ที่พบบ่อยที่สุด
ลบทุกอย่างก่อนหรือหลังข้อความบางข้อความ
สมมติว่าสตริงต้นฉบับทั้งหมดของคุณมีคำหรือข้อความทั่วไปบางคำ และคุณต้องการลบทุกอย่างก่อนหรือหลังข้อความนั้น หากต้องการดำเนินการ ให้เลือกแหล่งข้อมูลของคุณ เรียกใช้เครื่องมือ ลบตามตำแหน่ง และกำหนดค่าตามที่แสดงด้านล่าง:
- เลือก อักขระทั้งหมดก่อนข้อความ หรือ อักขระทั้งหมดหลังข้อความ และพิมพ์ข้อความหลัก (หรืออักขระ) ในช่องถัดไปไปที่มัน
- ขึ้นอยู่กับว่าตัวพิมพ์ใหญ่และตัวพิมพ์เล็กควรใช้เป็นอักขระที่แตกต่างกันหรือเหมือนกัน ให้เลือกหรือยกเลิกการเลือกช่อง คำนึงถึงตัวพิมพ์เล็กและใหญ่
- กด ลบ .
ในตัวอย่างนี้ เราจะลบอักขระทั้งหมดที่นำหน้าคำว่า "ข้อผิดพลาด" ในเซลล์ A2:A8:
และได้ผลลัพธ์ที่เราต้องการ:
ลบข้อความระหว่างอักขระสองตัว
ในสถานการณ์ที่ข้อมูลที่ไม่เกี่ยวข้องอยู่ระหว่างอักขระเฉพาะ 2 ตัว ต่อไปนี้เป็นวิธีการ คุณสามารถลบได้อย่างรวดเร็ว:
- เลือก ลบสตริงย่อยทั้งหมด และพิมพ์อักขระสองตัวในช่องด้านล่าง
- หากควรลบอักขระ "ระหว่าง" ด้วย ให้เลือกช่อง รวมตัวคั่น
- คลิก ลบ .
เป็น ตัวอย่างเช่น เราลบทุกอย่างระหว่างอักขระตัวหนอนสองตัว (~) และรับสตริงที่สะอาดสมบูรณ์เป็นผลลัพธ์:
หากต้องการลองใช้คุณสมบัติที่มีประโยชน์อื่น ๆ ที่รวมอยู่ในมัลติฟังก์ชั่นนี้ เครื่องมือ ฉันขอแนะนำให้คุณดาวน์โหลด e รุ่นการประเมินค่าที่ส่วนท้ายของโพสต์นี้ ขอขอบคุณที่อ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
ดาวน์โหลดได้
ลบอักขระตัวแรกหรือตัวสุดท้าย - ตัวอย่าง (ไฟล์ .xlsm)
Ultimate Suite - รุ่นทดลอง (ไฟล์ .exe)
และเว้นวรรค (*, ) ในช่อง ค้นหาอะไรโปรดทราบว่าเราไม่ได้แทนที่เพียงแค่เครื่องหมายจุลภาค แต่ เครื่องหมายจุลภาคและช่องว่าง เพื่อป้องกันการนำหน้า ช่องว่างในผลลัพธ์ หากข้อมูลของคุณคั่นด้วยเครื่องหมายจุลภาคโดยไม่มีการเว้นวรรค ให้ใช้เครื่องหมายดอกจันตามด้วยเครื่องหมายจุลภาค (*,)
หากต้องการลบข้อความ ระหว่างเครื่องหมายจุลภาคสองตัว ให้ใช้เครื่องหมายดอกจันล้อมรอบด้วยเครื่องหมายจุลภาค (,*,)
เคล็ดลับ หากคุณต้องการคั่นชื่อและหมายเลขโทรศัพท์ด้วยเครื่องหมายจุลภาค ให้พิมพ์เครื่องหมายจุลภาค (,) ในช่อง แทนที่ด้วย
ลบข้อความบางส่วนออกโดยใช้การเติมแบบรวดเร็ว
ใน Excel เวอร์ชันใหม่ (2013 และใหม่กว่า) มีวิธีง่ายๆ อีกวิธีหนึ่งในการกำจัดข้อความที่นำหน้าหรือตามหลังอักขระที่ระบุ นั่นคือคุณลักษณะการเติมแบบรวดเร็ว วิธีการทำงานมีดังนี้
- ในเซลล์ถัดจากเซลล์แรกที่มีข้อมูลของคุณ ให้พิมพ์ผลลัพธ์ที่ต้องการแล้วกด Enter
- เริ่มพิมพ์ค่าที่เหมาะสมในเซลล์ถัดไป เมื่อ Excel รู้สึกถึงรูปแบบในค่าที่คุณกำลังป้อน โปรแกรมจะแสดงตัวอย่างสำหรับเซลล์ที่เหลือตามรูปแบบเดียวกัน
- กดปุ่ม Enter เพื่อยอมรับคำแนะนำ
เสร็จแล้ว!
ลบข้อความโดยใช้สูตร
ใน Microsoft Excel การจัดการข้อมูลจำนวนมากที่ดำเนินการโดยใช้คุณสมบัติในตัวสามารถทำได้ด้วยสูตร สูตรไม่ได้ทำการเปลี่ยนแปลงใดๆ กับข้อมูลต้นฉบับ ซึ่งแตกต่างจากวิธีการก่อนหน้านี้ และให้คุณควบคุมได้มากขึ้นผลลัพธ์
วิธีลบทุกอย่างหลังอักขระเฉพาะ
หากต้องการลบข้อความหลังอักขระเฉพาะ สูตรทั่วไปคือ:
LEFT( cell , SEARCH (" ถ่าน ", เซลล์ ) -1)ที่นี่ เราใช้ฟังก์ชัน SEARCH เพื่อรับตำแหน่งของอักขระและส่งต่อไปยังฟังก์ชัน LEFT ดังนั้นจึงแยก จำนวนอักขระที่สอดคล้องกันจากจุดเริ่มต้นของสตริง อักขระหนึ่งตัวถูกลบออกจากตัวเลขที่ SEARCH ส่งกลับเพื่อแยกตัวคั่นออกจากผลลัพธ์
ตัวอย่างเช่น หากต้องการลบส่วนหนึ่งของสตริงหลังเครื่องหมายจุลภาค ให้ป้อนสูตรด้านล่างใน B2 แล้วลากลงมาจนถึง B7 :
=LEFT(A2, SEARCH(",", A2) -1)
วิธีลบทุกอย่างก่อนอักขระเฉพาะ
หากต้องการลบบางส่วนของสตริงข้อความก่อนอักขระบางตัว สูตรทั่วไปคือ:
RIGHT( cell , LEN( cell ) - SEARCH(" char ", cell ))ที่นี่ เราคำนวณตำแหน่งของอักขระเป้าหมายอีกครั้งด้วยความช่วยเหลือของ SEARCH ลบออกจากความยาวสตริงทั้งหมดที่ส่งคืนโดย LEN และส่งค่าความแตกต่างไปยังฟังก์ชัน RIGHT ดังนั้นจึงดึงอักขระจำนวนมากจากส่วนท้ายของ สตริง
ตัวอย่างเช่น หากต้องการลบข้อความก่อนเครื่องหมายจุลภาค สูตรคือ:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2))
ในกรณีของเรา เครื่องหมายจุลภาคจะตามด้วยอักขระช่องว่าง เพื่อหลีกเลี่ยงช่องว่างนำหน้าในผลลัพธ์ เราจะรวมสูตรหลักไว้ในฟังก์ชัน TRIM:
=TRIM(RIGHT(A2, LEN(A2) - SEARCH(",", A2)))
หมายเหตุ:
- ทั้งสองอย่างจากตัวอย่างข้างต้นถือว่ามี หนึ่งอินสแตนซ์ ของตัวคั่นในสตริงต้นฉบับ หากมีการเกิดขึ้นหลายครั้ง ข้อความจะถูกลบออกก่อน/หลัง ตัวอย่างแรก
- ฟังก์ชัน SEARCH ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ หมายความว่าฟังก์ชันนี้ไม่มีความแตกต่างระหว่าง อักขระตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ถ้าอักขระเฉพาะของคุณเป็นตัวอักษรและคุณต้องการแยกแยะตัวอักษรตัวพิมพ์เล็ก ให้ใช้ฟังก์ชัน ตัวพิมพ์เล็กและตัวพิมพ์เล็ก แทนการค้นหา
วิธีลบข้อความหลังจากเหตุการณ์ครั้งที่ N ของอักขระ
ในสถานการณ์ที่สตริงต้นฉบับมีตัวคั่นหลายอินสแตนซ์ คุณอาจจำเป็นต้องลบข้อความหลังจากอินสแตนซ์ที่ระบุ สำหรับสิ่งนี้ ใช้สูตรต่อไปนี้:
LEFT( cell , FIND("#", SUBSTITUTE( cell , " char ", "#" , n )) -1)โดยที่ n คืออักขระที่เกิดขึ้นหลังจากนั้นเพื่อลบข้อความ
ตรรกะภายในของสูตรนี้จำเป็นต้องใช้อักขระบางตัว ที่ไม่มีอยู่ที่ใดในแหล่งข้อมูล สัญลักษณ์แฮช (#) ในกรณีของเรา หากอักขระนี้ปรากฏในชุดข้อมูลของคุณ ให้ใช้อย่างอื่นแทน "#"
ตัวอย่างเช่น หากต้องการลบทุกอย่างที่อยู่หลังเครื่องหมายจุลภาคที่ 2 ใน A2 (และเครื่องหมายจุลภาคเอง) สูตรคือ:<1
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)
สูตรนี้ทำงานอย่างไร:
ส่วนสำคัญของสูตรคือฟังก์ชัน FIND ที่คำนวณ ตำแหน่งที่ nตัวคั่น (เครื่องหมายจุลภาคในกรณีของเรา) มีวิธีการดังนี้:
เราแทนที่เครื่องหมายจุลภาคที่ 2 ใน A2 ด้วยสัญลักษณ์แฮช (หรืออักขระอื่นที่ไม่มีอยู่ในข้อมูลของคุณ) ด้วยความช่วยเหลือของ SUBSTITUTE:
SUBSTITUTE(A2, ",", "#", 2)
สตริงผลลัพธ์ไปที่อาร์กิวเมนต์ตัวที่ 2 ของ FIND ดังนั้นจึงพบตำแหน่งของ "#" ในสตริงนั้น:
FIND("#", "Emma, Design# (102) 123-4568")
FIND บอกเราว่า "#" เป็นอักขระตัวที่ 13 ในสตริง หากต้องการทราบจำนวนอักขระที่อยู่ข้างหน้า ให้ลบ 1 แล้วคุณจะได้ 12 เป็นผลลัพธ์:
FIND("#", SUBSTITUTE(A2, ",", "#", 2)) - 1
ตัวเลขนี้จะไปที่อาร์กิวเมนต์ num_chars โดยตรง ของ LEFT ขอให้ดึงอักขระ 12 ตัวแรกจาก A2:
=LEFT(A2, 12)
นั่นแหละ!
วิธีลบข้อความก่อนอักขระตัวที่ N
สูตรทั่วไปในการลบสตริงย่อยก่อนอักขระบางตัวคือ:
RIGHT(SUBSTITUTE( cell , " char ", "#", n ), LEN( เซลล์ ) - FIND("#", SUBSTITUTE( เซลล์ , " ถ่าน ", "#", n )) -1)ตัวอย่างเช่น หากต้องการตัดข้อความก่อนเครื่องหมายจุลภาคตัวที่ 2 ใน A2 สูตรคือ:
=RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)
เพื่อลดช่องว่างนำหน้า เราจะใช้ TRIM อีกครั้ง ทำหน้าที่เป็นตัวห่อหุ้ม:
=TRIM(RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))))
สูตรนี้ทำงานอย่างไร:
โดยสรุป เราพบว่า จำนวนอักขระที่อยู่หลังตัวคั่นที่ n และแยกสตริงย่อยของความยาวที่สอดคล้องกันจากด้านขวา ด้านล่างนี้คือรายละเอียดสูตร:
ก่อนอื่น เราแทนที่เครื่องหมายจุลภาคที่ 2 ใน A2 ด้วยแฮชsymbol:
SUBSTITUTE(A2, ",", "#", 2)
สตริงผลลัพธ์ไปที่อาร์กิวเมนต์ text ของ RIGHT:
RIGHT("Emma, Design# (102) 123-4568", …
ถัดไป เราต้อง กำหนดจำนวนอักขระที่จะแยกออกจากส่วนท้ายของสตริง สำหรับสิ่งนี้ เราจะหาตำแหน่งของสัญลักษณ์แฮชในสตริงด้านบน (ซึ่งก็คือ 13):
FIND("#", SUBSTITUTE(A2, ",", "#", 2))
และลบออกจากความยาวสตริงทั้งหมด (ซึ่งเท่ากับ 28):
LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))
ผลต่าง (15) ไปที่อาร์กิวเมนต์ที่สองของ RIGHT ซึ่งสั่งให้ดึงอักขระ 15 ตัวสุดท้ายจากสตริงในอาร์กิวเมนต์แรก:
RIGHT("Emma, Design# (102) 123-4568", 15)
เอาต์พุตเป็นสตริงย่อย " (102) 123-4568" ซึ่งใกล้เคียงกับผลลัพธ์ที่ต้องการมาก ยกเว้นช่องว่างนำหน้า ดังนั้นเราจึงใช้ฟังก์ชัน TRIM เพื่อกำจัดมัน
วิธีลบข้อความหลังจากเกิดอักขระครั้งล่าสุด
ในกรณีที่ค่าของคุณถูกคั่นด้วยจำนวนตัวแปรของตัวคั่น คุณ อาจต้องการลบทุกอย่างหลังจากอินสแตนซ์สุดท้ายของตัวคั่นนั้น ซึ่งสามารถทำได้โดยใช้สูตรต่อไปนี้:
LEFT( cell , FIND("#", SUBSTITUTE( cell , " char ", "# ", LEN( เซลล์ ) - LEN(SUBSTITUTE( เซลล์ , " ถ่าน ", "")))) -1)สมมติว่าคอลัมน์ A มีข้อมูลต่างๆ เกี่ยวกับพนักงาน แต่ค่าหลังเครื่องหมายจุลภาคสุดท้ายจะเป็นหมายเลขโทรศัพท์เสมอ เป้าหมายของคุณคือลบหมายเลขโทรศัพท์และเก็บรายละเอียดอื่นๆ ทั้งหมด
เพื่อให้บรรลุเป้าหมาย คุณสามารถลบข้อความหลังจากเครื่องหมายจุลภาคสุดท้ายใน A2 ด้วยสิ่งนี้สูตร:
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))) -1)
คัดลอกสูตรลงในคอลัมน์ แล้วคุณจะได้ผลลัพธ์นี้:
วิธีนี้ การทำงานของสูตร:
ส่วนสำคัญของสูตรคือเรากำหนดตำแหน่งของตัวคั่นสุดท้าย (ลูกน้ำ) ในสตริง และดึงสตริงย่อยจากด้านซ้ายขึ้นไปยังตัวคั่น การหาตำแหน่งของตัวคั่นเป็นส่วนที่ยากที่สุด และนี่คือวิธีที่เราจัดการ:
ก่อนอื่น เราจะหาจำนวนเครื่องหมายจุลภาคที่มีในสตริงต้นฉบับ สำหรับสิ่งนี้ เราจะแทนที่เครื่องหมายจุลภาคแต่ละรายการด้วยค่าว่าง ("") และส่งสตริงผลลัพธ์ไปยังฟังก์ชัน LEN:
LEN(SUBSTITUTE(A2, ",",""))
สำหรับ A2 ผลลัพธ์คือ 35 ซึ่งเป็นจำนวนอักขระ ใน A2 โดยไม่มีเครื่องหมายจุลภาค
ลบตัวเลขข้างต้นออกจากความยาวสตริงทั้งหมด (38 อักขระ):
LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))
… และคุณจะได้ 3 ซึ่งเป็นจำนวนทั้งหมด ของเครื่องหมายจุลภาคใน A2 (และเลขลำดับของเครื่องหมายจุลภาคสุดท้าย)
ถัดไป ให้คุณใช้ฟังก์ชัน FIND และ SUBSTITUTE ที่คุ้นเคยกันอยู่แล้วเพื่อรับตำแหน่งของเครื่องหมายจุลภาคสุดท้ายในสตริง หมายเลขอินสแตนซ์ (ลูกน้ำที่ 3 ในกรณีของเรา) มาจากสูตร LEN SUBSTITUTE ที่กล่าวถึงข้างต้น:
FIND("#", SUBSTITUTE(A2, ",", "#", 3))
ดูเหมือนว่าลูกน้ำที่ 3 คืออักขระที่ 23 ใน A2 ซึ่งหมายความว่าเราต้องการ เพื่อแยกอักขระ 22 ตัวที่อยู่ข้างหน้า ดังนั้นเราจึงใส่สูตรข้างต้นลบ 1 ในอาร์กิวเมนต์ num_chars ของ LEFT:
LEFT(A2, 23-1)
วิธีลบข้อความก่อนเกิดอักขระครั้งล่าสุด
หากต้องการลบทุกอย่างก่อนอินสแตนซ์สุดท้ายของอักขระเฉพาะ สูตรทั่วไปคือ:
ในตารางตัวอย่างของเรา หากต้องการลบข้อความก่อนเครื่องหมายจุลภาคสุดท้าย สูตรจะใช้รูปแบบนี้:
=RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))))
ในขั้นสุดท้าย เรา ซ้อนไว้ในฟังก์ชัน TRIM เพื่อกำจัดช่องว่างนำหน้า:
=TRIM(RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))))
วิธีการทำงานของสูตรนี้:
โดยสรุป เราได้ตำแหน่งของเครื่องหมายจุลภาคสุดท้ายตามที่อธิบายไว้ในตัวอย่างก่อนหน้า และลบออกจากความยาวทั้งหมดของสตริง:
LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))
ผลลัพธ์ที่ได้คือจำนวนของ อักขระหลังเครื่องหมายจุลภาคสุดท้ายและส่งต่อไปยังฟังก์ชัน RIGHT เพื่อให้อักขระจำนวนมากนั้นมาจากส่วนท้ายของสตริง
ฟังก์ชันกำหนดเองเพื่อลบข้อความที่ด้านใดด้านหนึ่งของอักขระ
เป็น คุณได้เห็นในตัวอย่างข้างต้นแล้ว คุณสามารถแก้ไขกรณีการใช้งานได้เกือบทุกกรณีโดยใช้ f แบบเนทีฟของ Excel unctions ในชุดค่าผสมต่างๆ ปัญหาคือคุณต้องจำสูตรที่ยุ่งยากจำนวนหนึ่ง อืม ถ้าเราเขียนฟังก์ชั่นเองให้ครอบคลุมทุกสถานการณ์ล่ะ? ฟังดูเป็นความคิดที่ดี ดังนั้น ให้เพิ่มโค้ด VBA ต่อไปนี้ลงในสมุดงานของคุณ (ขั้นตอนโดยละเอียดในการแทรก VBA ใน Excel อยู่ที่นี่):
Function RemoveText(str As String , delimiter As String , happening As Integer , is_after Asบูลีน ) Dim delimiter_num, start_num, delimiter_len As Integer Dim str_result As String delimiter_num = 0 start_num = 1 str_result = "" delimiter_len = Len(ตัวคั่น) For i = 1 ถึงเหตุการณ์ delimiter_num = InStr(start_num, str, delimiter, vbTextCompare) ถ้า 0 < delimiter_num แล้ว start_num = delimiter_num + delimiter_len สิ้นสุด ถ้า ถัดไป i ถ้า 0 < delimiter_num แล้วก็ If True = is_after แล้วก็ str_result = Mid(str, 1, start_num - delimiter_len - 1) Else str_result = Mid(str, start_num) End If End If RemoveText = str_result End Functionฟังก์ชั่นของเราชื่อ RemoveText และมีไวยากรณ์ต่อไปนี้:
RemoveText(string, delimiter, allocation, is_after)Where:
String - คือสตริงข้อความต้นฉบับ สามารถแสดงด้วยการอ้างอิงเซลล์
ตัวคั่น - อักขระก่อน/หลังที่จะลบข้อความ
การเกิดขึ้น - อินสแตนซ์ของ ตัวคั่น
Is_after - ค่าบูลีนที่ระบุด้านของตัวคั่นเพื่อลบข้อความ สามารถเป็นอักขระตัวเดียวหรือเป็นลำดับของอักขระ
- TRUE - ลบทุกอย่างที่อยู่หลังตัวคั่น (รวมถึงตัวคั่นด้วย)
- FALSE - ลบทุกอย่างที่อยู่หลังตัวคั่น (รวมถึง ตัวคั่นเอง)
เมื่อใส่โค้ดของฟังก์ชันลงในสมุดงานของคุณแล้ว คุณสามารถลบสตริงย่อยออกจากเซลล์ได้โดยใช้สูตรที่กระชับและสวยงาม
ตัวอย่างเช่น เมื่อต้องการลบ