หน้าแรก บทความ Microsoft
Microsoft

TEXTBEFORE / TEXTAFTER ใน Excel ตัดข้อความก่อน-หลังตัวคั่นที่กำหนด

เผยแพร่ 15 ส.ค. 69

บางครั้งไม่ต้องการแยกข้อความออกทั้งหมดเหมือน TEXTSPLIT แค่อยากดึงเฉพาะส่วนก่อนหรือหลังตัวคั่นจุดเดียวเท่านั้น เช่น ดึงเฉพาะชื่อผู้ใช้จากอีเมล (ก่อนเครื่องหมาย @) TEXTBEFORE และ TEXTAFTER คือสูตรที่ตัดข้อความเฉพาะส่วนก่อนหรือหลังตัวคั่นที่กำหนดได้ในสูตรเดียว ไม่ต้องใช้ LEFT/RIGHT/MID ร่วมกับ FIND ให้ยุ่งยาก

โครงสร้างสูตร

สูตร โครงสร้าง
TEXTBEFORE =TEXTBEFORE(ข้อความ, ตัวคั่น) — ดึงส่วนก่อนตัวคั่น
TEXTAFTER =TEXTAFTER(ข้อความ, ตัวคั่น) — ดึงส่วนหลังตัวคั่น

ตัวอย่างการใช้งาน

B1fx=TEXTBEFORE(A1,"@")
A B C
1 somchai@company.com somchai company.com
C1fx=TEXTAFTER(A1,"@")

ดึงตัวคั่นที่ 2 ขึ้นไป

ถ้าข้อความมีตัวคั่นซ้ำหลายจุด ใส่ตัวเลขลำดับต่อท้ายเพื่อระบุว่าจะตัดที่ตัวคั่นตัวที่เท่าไร เช่น =TEXTAFTER("a-b-c-d","-",2) จะได้ผลลัพธ์ “c-d” (ตัดหลังตัวคั่นตัวที่ 2)

ต่างจาก LEFT/RIGHT/MID + FIND ยังไง

วิธีเดิมต้องเขียนสูตรซ้อนกันแบบ =LEFT(A1,FIND("@",A1)-1) เพื่อดึงข้อความก่อนเครื่องหมาย @ ซึ่งอ่านยากและต้องคำนวณตำแหน่งเอง ขณะที่ TEXTBEFORE ทำสิ่งเดียวกันในสูตรสั้นกว่ามาก อ่านเข้าใจได้ทันทีว่าสูตรทำอะไร

ข้อควรรู้

ข้อควรรู้ รายละเอียด
ต้องใช้ Excel รุ่นไหน ใช้ได้กับ Microsoft 365 ที่อัปเดตล่าสุด
ถ้าไม่พบตัวคั่น คืนค่า Error #N/A ยกเว้นระบุค่าทางเลือกไว้ในอาร์กิวเมนต์เสริม
ใช้ตัวคั่นหลายแบบพร้อมกัน ใส่เป็นชุดในเครื่องหมายปีกกาได้ เช่น {"-","_"}

สรุป

TEXTBEFORE และ TEXTAFTER เหมาะกับการดึงข้อความบางส่วนแบบเจาะจงจุดเดียว สั้นและอ่านง่ายกว่าการเขียนสูตรซ้อน ถ้าต้องการแยกข้อความออกเป็นหลายส่วนพร้อมกันทั้งหมด อ่านต่อได้ที่ TEXTSPLIT ใน Excel แยกข้อความออกเป็นหลายเซลล์ด้วยสูตรเดียว

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line