TEXTBEFORE ดึงข้อความก่อนหน้าตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า LEFT+FIND ใช้คู่กับ TEXTAFTER TEXTSPLIT
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| text | Text | ข้อความต้นฉบับที่ต้องการดึงส่วนก่อนตัวคั่น | |
| delimiter | Text/Array | ตัวคั่นที่ใช้แยก (รองรับ Array หลายตัวคั่น) | |
| [instance_num]ไม่บังคับ | Number | 1 | ลำดับตัวคั่นที่ต้องการ (1=แรก, -1=สุดท้าย) |
| [match_mode]ไม่บังคับ | Number | 0 | 0 = case-sensitive, 1 = case-insensitive |
| [match_end]ไม่บังคับ | Number | 0 | 0 = ไม่จับคู่ต้นข้อความ, 1 = จับคู่ต้นข้อความเป็นตัวคั่น |
| [if_not_found]ไม่บังคับ | Text | #N/A | ค่าที่ return เมื่อไม่พบตัวคั่น (default = #N/A error) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
TEXTBEFORE เป็นฟังก์ชันที่ดึงข้อความก่อนหน้าตัวคั่น (delimiter) ที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และการกำหนดค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลจากข้อความได้ง่ายกว่าการใช้ LEFT+FIND แบบเดิม ใช้คู่กับ TEXTAFTER และ TEXTSPLIT
ดึงส่วน username (john) จาก email address โดยใช้ @ เป็นตัวคั่น
ดึงส่วนนำหน้าของรหัสสินค้า เช่น PRD-2024-001 → PRD
ดึงชื่อไฟล์ (ไม่รวมนามสกุล) เช่น report.xlsx → report
ดึงข้อความก่อน @ ได้ username
instance_num=1 (default) หมายถึงก่อนช่องว่างแรก ได้ชื่อจริง
instance_num=2 ดึงก่อนเครื่องหมาย – ตัวที่ 2 ได้ A-B
instance_num=-1 ก่อนจุดสุดท้าย ได้ชื่อไฟล์โดยไม่รวมนามสกุล
match_mode=1 ทำให้ WORLD จับคู่กับ World ได้ (ไม่สนใจ case)
ไม่พบ @ ในข้อความ จึง return ค่า if_not_found = N/A แทน #N/A error
TEXTBEFORE ง่ายกว่ามาก ไม่ต้องคำนวณตำแหน่งและความยาว LEFT+FIND ต้องเขียน =LEFT(A1,FIND("@",A1)-1) ซึ่งซับซ้อนกว่าและ error หากไม่พบตัวคั่น
instance_num ลบนับจากท้าย เช่น -1 = ตัวคั่นสุดท้าย, -2 = ตัวคั่นรองสุดท้าย เหมาะสำหรับดึงส่วนนำหน้าตัวคั่นสุดท้าย
เกิดเมื่อไม่พบ delimiter ในข้อความ ใช้ if_not_found กำหนดค่า default แทน error
ได้ ใส่เป็น Array เช่น =TEXTBEFORE(A1, {"-", "_"}) จะค้นหาทั้ง – และ _ ใช้ตัวที่พบก่อน
Microsoft 365 และ Excel 2024 เท่านั้น ไม่รองรับ Excel 2021 หรือเก่ากว่า
ฟังก์ชันที่ผู้เขียนโยงไว้กับ TEXTBEFORE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง
LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา
MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ
REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression (Regex) ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูง
RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ
TEXTAFTER ดึงข้อความหลังจากตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า MID+FIND ใช้คู่กับ TEXTBEFORE TEXTSPLIT
TEXTSPLIT เป็นฟังก์ชัน Dynamic Array ที่ช่วยแยกข้อความในเซลล์ออกเป็นอาร์เรย์ของค่า (Spill) ตามตัวคั่นที่ระบุ สามารถแยกข้อมูลออกไปทางขวา (คอลัมน์) หรือลงด้านล่าง (แถว) หรือทั้งสองอย่างพร้อมกัน เหมาะสำหรับการจัดการข้อมูลนำเข้าที่รวมกันอยู่ในเซลล์เดียว
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่