บางครั้งไม่ต้องการแยกข้อความออกทั้งหมดเหมือน TEXTSPLIT แค่อยากดึงเฉพาะส่วนก่อนหรือหลังตัวคั่นจุดเดียวเท่านั้น เช่น ดึงเฉพาะชื่อผู้ใช้จากอีเมล (ก่อนเครื่องหมาย @) TEXTBEFORE และ TEXTAFTER คือสูตรที่ตัดข้อความเฉพาะส่วนก่อนหรือหลังตัวคั่นที่กำหนดได้ในสูตรเดียว ไม่ต้องใช้ LEFT/RIGHT/MID ร่วมกับ FIND ให้ยุ่งยาก
โครงสร้างสูตร
| สูตร | โครงสร้าง |
| TEXTBEFORE | =TEXTBEFORE(ข้อความ, ตัวคั่น) — ดึงส่วนก่อนตัวคั่น |
| TEXTAFTER | =TEXTAFTER(ข้อความ, ตัวคั่น) — ดึงส่วนหลังตัวคั่น |
ตัวอย่างการใช้งาน
=TEXTBEFORE(A1,"@")| A | B | C | |
|---|---|---|---|
| 1 | somchai@company.com | somchai | company.com |
=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 แยกข้อความออกเป็นหลายเซลล์ด้วยสูตรเดียว