รหัสสินค้า เลขเอกสาร ชื่อ-นามสกุล ถูกรวมไว้ในช่องเดียว แต่รายงานต้องการแค่บางส่วน — ปีจากเลขเอกสาร ชื่อจริงจากชื่อเต็ม แล้วต้องนั่งพิมพ์แยกเองทีละแถว
LEFT, RIGHT, MID ตัดข้อความออกมาบางส่วน: จากซ้าย จากขวา หรือจากตรงกลาง ใช้คู่กับ FIND เมื่อความยาวไม่เท่ากัน ใช้ได้เหมือนกันทั้ง Excel และ Google Sheets
3 ฟังก์ชัน จำรูปแบบเดียว
| ฟังก์ชัน | รูปแบบ | ตัวอย่าง (A2 = TH-2026-0158) |
|---|---|---|
| LEFT — จากซ้าย | =LEFT(ข้อความ, กี่ตัว) | =LEFT(A2,2) → TH |
| RIGHT — จากขวา | =RIGHT(ข้อความ, กี่ตัว) | =RIGHT(A2,4) → 0158 |
| MID — จากตรงกลาง | =MID(ข้อความ, เริ่มตัวที่, กี่ตัว) | =MID(A2,4,4) → 2026 |
| FIND — หาตำแหน่ง | =FIND(สิ่งที่หา, ข้อความ) | =FIND("-",A2) → 3 |
| LEN — นับความยาว | =LEN(ข้อความ) | =LEN(A2) → 12 |
ตัวอย่าง 1: ข้อมูลที่มีรูปแบบตายตัว
รหัสที่ทุกแถวยาวเท่ากันและตำแหน่งเหมือนกัน ใช้ตัวเลขตรง ๆ ได้เลย:

ภาพจากไฟล์ Google Sheets จริง · เปิดไฟล์ตัวอย่างนี้ (ดูอย่างเดียว — ไฟล์ → ทำสำเนา เพื่อลองแก้)
ดูเป็นตาราง (ก๊อปตัวเลขได้)
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | รหัส | ประเทศ | ปี | เลขลำดับ | เป็นตัวเลข |
| 2 | TH-2026-0158 | TH | 2026 | 0158 | 158 |
| 3 | LA-2025-0042 | LA | 2025 | 0042 | 42 |
| 4 | MM-2026-1203 | MM | 2026 | 1203 | 1203 |
สูตรในช่องสีฟ้า (ช่วงเช่น C2:C4 = พิมพ์ที่ช่องแรกแล้วลากลง):
- B2:B4
=LEFT(A2,2) - C2:C4
=MID(A2,4,4) - D2:D4
=RIGHT(A2,4) - E2:E4
=VALUE(RIGHT(A2,4))
ผลของ LEFT / MID / RIGHT เป็นข้อความเสมอ (0158 ยังมีเลข 0 นำหน้า) ถ้าจะเอาไปคำนวณหรือเรียงลำดับ ครอบด้วย VALUE
ตัวอย่าง 2: ความยาวไม่เท่ากัน — ให้ FIND หาตำแหน่งให้
ชื่อแต่ละคนยาวไม่เท่ากัน จะใช้ LEFT(A2,5) ตายตัวไม่ได้ วิธีคือหาตำแหน่งช่องว่างด้วย FIND ก่อน แล้วตัดตามตำแหน่งนั้น:

ภาพจากไฟล์ Google Sheets จริง · เปิดไฟล์ตัวอย่างนี้ (ดูอย่างเดียว — ไฟล์ → ทำสำเนา เพื่อลองแก้)
ดูเป็นตาราง (ก๊อปตัวเลขได้)
| A | B | C | D | |
|---|---|---|---|---|
| 1 | ชื่อเต็ม | ช่องว่างอยู่ตัวที่ | ชื่อ | นามสกุล |
| 2 | สมชาย ใจดี | 6 | สมชาย | ใจดี |
| 3 | วิภาวดี รัตนพงษ์ | 8 | วิภาวดี | รัตนพงษ์ |
สูตรในช่องสีฟ้า (ช่วงเช่น C2:C4 = พิมพ์ที่ช่องแรกแล้วลากลง):
- B2:B3
=FIND(" ",A2) - C2:C3
=LEFT(A2,FIND(" ",A2)-1) - D2:D3
=MID(A2,FIND(" ",A2)+1,100)
MID ใส่จำนวนตัวไว้ 100 ไม่ต้องคำนวณความยาวนามสกุลให้ยุ่ง — ถ้าข้อความเหลือน้อยกว่า 100 ตัว MID ก็ให้เท่าที่มี
ตัวอย่าง 3: ระวังภาษาไทย

ภาพจากไฟล์ Google Sheets จริง · เปิดไฟล์ตัวอย่างนี้ (ดูอย่างเดียว — ไฟล์ → ทำสำเนา เพื่อลองแก้)
ดูเป็นตาราง (ก๊อปตัวเลขได้)
| A | B | C | |
|---|---|---|---|
| 1 | ข้อความ | LEN | LEFT 2 ตัว |
| 2 | น้ำ | 3 | น้ |
| 3 | ไก่ทอด | 6 | ไก |
สูตรในช่องสีฟ้า (ช่วงเช่น C2:C4 = พิมพ์ที่ช่องแรกแล้วลากลง):
- B2:B3
=LEN(A2) - C2:C3
=LEFT(A2,2)
ตัดข้อความไทยด้วยจำนวนตัวอักษรตายตัวจึงเสี่ยงได้คำขาดกลาง — ถ้าข้อมูลมีตัวคั่น (ช่องว่าง ขีด) ใช้ FIND หาตำแหน่งแบบตัวอย่าง 2 หรือใช้ SPLIT ดีกว่า
ตัวอย่าง 4: จัดรูปแบบเบอร์โทรทั้งคอลัมน์
ต่อชิ้นส่วนกลับเข้าด้วยกันด้วย & และใช้ ARRAYFORMULA ให้ทำทุกแถวจากสูตรเดียว:

ภาพจากไฟล์ Google Sheets จริง · เปิดไฟล์ตัวอย่างนี้ (ดูอย่างเดียว — ไฟล์ → ทำสำเนา เพื่อลองแก้)
ดูเป็นตาราง (ก๊อปตัวเลขได้)
| A | B | |
|---|---|---|
| 1 | เบอร์ที่กรอกมา | จัดรูปแบบ |
| 2 | 0812345678 | 081-234-5678 |
| 3 | 0923456789 | 092-345-6789 |
สูตรในช่องสีฟ้า (ช่วงเช่น C2:C4 = พิมพ์ที่ช่องแรกแล้วลากลง):
- B1
={"จัดรูปแบบ";ARRAYFORMULA(IF(A2:A="","",LEFT(A2:A,3)&"-"&MID(A2:A,4,3)&"-"&RIGHT(A2:A,4)))}
เบอร์โทรต้องเก็บเป็นข้อความ (ตั้งรูปแบบคอลัมน์เป็น ข้อความธรรมดา ก่อนกรอก) ไม่งั้นเลข 0 ตัวหน้าจะหาย
ไม่อยากเขียนสูตร: ทางลัดอื่น
- 1
ข้อมูลมีตัวคั่นชัดเจน → แยกเป็นคอลัมน์
ข้อมูล → แยกข้อความเป็นคอลัมน์ หรือสูตร=SPLIT(A2,"-")ได้ TH, 2026, 158 แยกคนละช่องทันที (อ่านเพิ่ม SPLIT แยกข้อความ) - 2
รูปแบบซับซ้อน → REGEXEXTRACT
=REGEXEXTRACT(A2,"\d{4}")ดึงตัวเลข 4 หลักแรกที่เจอ ไม่สนว่าอยู่ตำแหน่งไหน - 3
ทำครั้งเดียว ไม่ต้องอัปเดต → พิมพ์ให้ดู
พิมพ์ผลที่ต้องการในแถวแรก 2–3 แถว Google Sheets อาจเสนอเติมให้ทั้งคอลัมน์ (Smart Fill) กด ✓ เพื่อยอมรับ
ข้อผิดพลาดที่เจอบ่อย
ได้ #VALUE! จาก FIND
ตัวเลขที่ตัดออกมาคำนวณไม่ได้ / เรียงผิด
เลข 0 หน้าเบอร์โทรหาย
FIND ไม่เจอเพราะตัวพิมพ์ใหญ่-เล็ก
ไม่อยากเริ่มจากชีตเปล่า?
คำถามที่ถามบ่อย
LEFT RIGHT MID ต่างกันยังไง?
LEFT ตัดจากซ้ายตามจำนวนตัว RIGHT ตัดจากขวา MID ตัดจากตำแหน่งที่กำหนดตรงกลางข้อความ เช่น =MID(A2,4,4) คือเริ่มตัวที่ 4 เอา 4 ตัว
แยกชื่อกับนามสกุลยังไง?
ชื่อ =LEFT(A2,FIND(" ",A2)-1) นามสกุล =MID(A2,FIND(" ",A2)+1,100) หรือใช้ =SPLIT(A2," ") แยกเป็นสองช่องทันที
ทำไม LEFT ภาษาไทยตัดได้ไม่ครบคำ?
สระและวรรณยุกต์นับเป็นตัวอักษรแยก LEN("น้ำ") ได้ 3 ถ้าข้อมูลมีตัวคั่น ให้ใช้ FIND หรือ SPLIT แทนการนับจำนวนตัวตายตัว
ผลจาก RIGHT เอาไปบวกไม่ได้?
เพราะเป็นข้อความ ครอบด้วย VALUE เช่น =VALUE(RIGHT(A2,4)) จะได้ตัวเลขที่คำนวณได้
Excel ใช้สูตรเดียวกันไหม?
LEFT RIGHT MID FIND LEN เหมือนกันทุกอย่าง ส่วน SPLIT และ REGEXEXTRACT มีเฉพาะ Google Sheets (Excel 365 ใช้ TEXTSPLIT แทน SPLIT)
