ลบข้อความก่อน หลัง หรือระหว่างอักขระสองตัวใน Excel

  • แบ่งปันสิ่งนี้
Michael Brown

สารบัญ

ในสองสามบทความที่ผ่านมา เราได้ดูวิธีต่างๆ ในการลบอักขระออกจากสตริงใน Excel วันนี้เราจะตรวจสอบกรณีการใช้งานอีกหนึ่งกรณี นั่นคือ วิธีลบทุกอย่างก่อนหรือหลังอักขระใดอักขระหนึ่ง

    ลบข้อความก่อน หลัง หรือระหว่างอักขระ 2 ตัวด้วยการค้นหา & แทนที่

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

    1. เลือกเซลล์ทั้งหมดที่คุณต้องการลบข้อความ
    2. กด Ctrl + H เพื่อเปิดกล่องโต้ตอบ ค้นหาและแทนที่
    3. ในกล่อง ค้นหาอะไร ให้ป้อนหนึ่งในชุดค่าผสมต่อไปนี้:
      • หากต้องการลบข้อความ ก่อนอักขระที่ระบุ ให้พิมพ์อักขระที่นำหน้าด้วยเครื่องหมายดอกจัน (*char)
      • หากต้องการลบข้อความ หลังอักขระบางตัว ให้พิมพ์อักขระตามด้วยเครื่องหมายดอกจัน (char *).
      • หากต้องการลบสตริงย่อย ระหว่างอักขระสองตัว ให้พิมพ์เครื่องหมายดอกจันที่ล้อมรอบด้วยอักขระ 2 ตัว (char*char)
    4. ปล่อย แทนที่ ด้วย กล่องว่าง
    5. คลิก แทนที่ทั้งหมด .

    ตัวอย่างเช่น หากต้องการลบ ทุกอย่างหลังเครื่องหมายจุลภาค รวมถึงเครื่องหมายจุลภาคด้วย ใส่เครื่องหมายจุลภาคและเครื่องหมายดอกจัน (,*) ในช่อง ค้นหาอะไร และคุณจะได้ผลลัพธ์ต่อไปนี้:

    หากต้องการลบสตริงย่อย ก่อนเครื่องหมายจุลภาค ให้พิมพ์เครื่องหมายดอกจัน เครื่องหมายจุลภาคทุกอย่างที่อยู่หลังเครื่องหมายจุลภาคที่ 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 .

    ด้านล่าง เราจะกล่าวถึงทั้งสอง สถานการณ์ที่พบบ่อยที่สุด

    ลบทุกอย่างก่อนหรือหลังข้อความบางข้อความ

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

    1. เลือก อักขระทั้งหมดก่อนข้อความ หรือ อักขระทั้งหมดหลังข้อความ และพิมพ์ข้อความหลัก (หรืออักขระ) ในช่องถัดไปไปที่มัน
    2. ขึ้นอยู่กับว่าตัวพิมพ์ใหญ่และตัวพิมพ์เล็กควรใช้เป็นอักขระที่แตกต่างกันหรือเหมือนกัน ให้เลือกหรือยกเลิกการเลือกช่อง คำนึงถึงตัวพิมพ์เล็กและใหญ่
    3. กด ลบ .

    ในตัวอย่างนี้ เราจะลบอักขระทั้งหมดที่นำหน้าคำว่า "ข้อผิดพลาด" ในเซลล์ A2:A8:

    และได้ผลลัพธ์ที่เราต้องการ:

    ลบข้อความระหว่างอักขระสองตัว

    ในสถานการณ์ที่ข้อมูลที่ไม่เกี่ยวข้องอยู่ระหว่างอักขระเฉพาะ 2 ตัว ต่อไปนี้เป็นวิธีการ คุณสามารถลบได้อย่างรวดเร็ว:

    1. เลือก ลบสตริงย่อยทั้งหมด และพิมพ์อักขระสองตัวในช่องด้านล่าง
    2. หากควรลบอักขระ "ระหว่าง" ด้วย ให้เลือกช่อง รวมตัวคั่น
    3. คลิก ลบ .

    เป็น ตัวอย่างเช่น เราลบทุกอย่างระหว่างอักขระตัวหนอนสองตัว (~) และรับสตริงที่สะอาดสมบูรณ์เป็นผลลัพธ์:

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

    ดาวน์โหลดได้

    ลบอักขระตัวแรกหรือตัวสุดท้าย - ตัวอย่าง (ไฟล์ .xlsm)

    Ultimate Suite - รุ่นทดลอง (ไฟล์ .exe)

    และเว้นวรรค (*, ) ในช่อง ค้นหาอะไร

    โปรดทราบว่าเราไม่ได้แทนที่เพียงแค่เครื่องหมายจุลภาค แต่ เครื่องหมายจุลภาคและช่องว่าง เพื่อป้องกันการนำหน้า ช่องว่างในผลลัพธ์ หากข้อมูลของคุณคั่นด้วยเครื่องหมายจุลภาคโดยไม่มีการเว้นวรรค ให้ใช้เครื่องหมายดอกจันตามด้วยเครื่องหมายจุลภาค (*,)

    หากต้องการลบข้อความ ระหว่างเครื่องหมายจุลภาคสองตัว ให้ใช้เครื่องหมายดอกจันล้อมรอบด้วยเครื่องหมายจุลภาค (,*,)

    เคล็ดลับ หากคุณต้องการคั่นชื่อและหมายเลขโทรศัพท์ด้วยเครื่องหมายจุลภาค ให้พิมพ์เครื่องหมายจุลภาค (,) ในช่อง แทนที่ด้วย

    ลบข้อความบางส่วนออกโดยใช้การเติมแบบรวดเร็ว

    ใน Excel เวอร์ชันใหม่ (2013 และใหม่กว่า) มีวิธีง่ายๆ อีกวิธีหนึ่งในการกำจัดข้อความที่นำหน้าหรือตามหลังอักขระที่ระบุ นั่นคือคุณลักษณะการเติมแบบรวดเร็ว วิธีการทำงานมีดังนี้

    1. ในเซลล์ถัดจากเซลล์แรกที่มีข้อมูลของคุณ ให้พิมพ์ผลลัพธ์ที่ต้องการแล้วกด Enter
    2. เริ่มพิมพ์ค่าที่เหมาะสมในเซลล์ถัดไป เมื่อ Excel รู้สึกถึงรูปแบบในค่าที่คุณกำลังป้อน โปรแกรมจะแสดงตัวอย่างสำหรับเซลล์ที่เหลือตามรูปแบบเดียวกัน
    3. กดปุ่ม 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( cell , LEN( cell ) - FIND("#", SUBSTITUTE( เซลล์ , " ถ่าน ", "#", LEN( เซลล์ ) - LEN(SUBSTITUTE( เซลล์ , " ถ่าน ", "")))))

    ในตารางตัวอย่างของเรา หากต้องการลบข้อความก่อนเครื่องหมายจุลภาคสุดท้าย สูตรจะใช้รูปแบบนี้:

    =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 - ลบทุกอย่างที่อยู่หลังตัวคั่น (รวมถึง ตัวคั่นเอง)

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

    ตัวอย่างเช่น เมื่อต้องการลบ

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้