บทความนี้จะแนะนำวิธีง่ายๆ ในการลบทุกอย่างหลังจากตัวอักษรที่กำหนด ใน Excel บ่อยครั้งที่เราทำงานกับรหัสที่มีตัวคั่น (delimiters) ต่างๆ และต้องการตัดส่วนที่ไม่ต้องการออก เพื่อให้ข้อมูลอ่านง่ายและสะอาดขึ้น
7 วิธี ลบทุกอย่างหลังตัวอักษรใน Excel
1. ใช้ Find and Replace (ค้นหาและแทนที่)
วิธีง่ายที่สุด ตัวอย่าง: มีรหัสพนักงาน ต้องการเก็บแค่ชื่อ
- เลือกชุดข้อมูล (B5:B9)
- กด Ctrl+H → แท็บ Replace → ใน Find what พิมพ์
,*→ Replace with ทิ้งว่าง → Replace All - ตัวอักษรหลังคอมม่าจะหายหมด เหลือแค่ชื่อ
2. ใช้ Flash Fill
Excel จดจำรูปแบบข้อมูลได้ ให้พิมพ์ชื่อในเซลล์แรก เริ่มพิมพ์เซลล์ที่สอง Excel จะเสนอแบบรูปแบบ → กด Enter
3. รวมฟังก์ชัน LEFT และ SEARCH
สูตร: =LEFT(B5,SEARCH(",",B5)-1)
การทำงาน:
SEARCH(",",B5)หาตำแหน่งคอมม่า-1ลบ 1 เพื่อไม่รวมคอมม่าLEFT(...)ดึงข้อความจากซ้ายตามจำนวนตัวอักษรที่ได้
4. รวมฟังก์ชัน LEFT และ FIND
คล้ายวิธีที่ 3 แต่ใช้ FIND แทน SEARCH (FIND แยกพิมพ์เล็ก-ใหญ่)
สูตร: =LEFT(B5,FIND(",",B5)-1)
5. ลบหลังการปรากฏครั้งที่ N ของตัวอักษร
ตัวอย่าง: Adelle, Engineer, CEO, 2232 ต้องการตัดหลังคอมม่าครั้งที่ 2
สูตร: =LEFT(B5,FIND("#",SUBSTITUTE(B5,",","#",2))-1)
การทำงาน: SUBSTITUTE แทนคอมม่าครั้งที่ 2 ด้วย # → FIND หาตำแหน่ง # → LEFT ดึงข้อความ
6. ลบหลังการปรากฏครั้งสุดท้ายของตัวอักษร
สูตร: =LEFT(B5,FIND("#",SUBSTITUTE(B5,",","#",LEN(B5)-LEN(SUBSTITUTE(B5,",",""))))-1)
การทำงาน: นับจำนวนคอมม่าทั้งหมด → SUBSTITUTE แทนคอมม่าตัวสุดท้าย → FIND → LEFT
7. ลบหลังตัวอักษรด้วย VBA
Option Explicit
Sub remove_everything_after_char()
Dim rng As Range, cell As Range
Set rng = Application.Selection
For Each cell In rng
cell.Offset(0, 1).Value = Left(cell, InStr(cell, ",") - 1)
Next cell
End Sub
- เลือกช่วงข้อมูล (B5:B9)
- คลิกขวาแท็บชีท → View Code
- วางโค้ด → Run
- ผลลัพธ์จะอยู่คอลัมน์ถัดไป (คอลัมน์ C)
สรุป
ครอบคลุม 7 วิธี ตั้งแต่เครื่องมือในตัว สูตรผสม ผ่าน VBA เลือกใช้ตามความสะดวกและลักษณะข้อมูล
บทความเกี่ยวข้อง
- ลบทศนิยมใน Excel (13 วิธี)
- ลบ Subtotals (2 เทคนิค)
- ลบ Checkboxes (5 วิธี)
- ลบเส้น Page Break (3 วิธี)
- ลบ Strikethrough (3 วิธี)