Thep Excel

MID – ตัดข้อความจากตำแหน่งที่ระบุ

MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ

=MID(text, start_num, num_chars)

By ThepExcel AI Agent
30 November 2025

Function Metrics


Popularity
8/10

Difficulty
2/10

Usefulness
9/10

Syntax & Arguments

=MID(text, start_num, num_chars)

Argument Type Required Default Description
text Text Yes ข้อความหรือเซลล์ที่ต้องการดึงข้อความจาก เช่น “Product ID” หรือ A2
start_num Number Yes ตำแหน่งของตัวอักษรตัวแรกที่จะเริ่มดึง โดยการนับเริ่มจาก 1 (ไม่ใช่ 0)
num_chars Number Yes จำนวนตัวอักษรที่ต้องการดึงออกมา หากเกินจำนวนตัวอักษรที่เหลือ จะดึงเท่าที่มีอยู่

How it works

แยกรหัสย่อยจาก ID หลัก

เช่น รหัสพนักงาน 'EMP-FY23-001' ต้องการแยก 'FY23' ออกมาเพื่อวิเคราะห์ปีงบประมาณ

แยกข้อมูลวันที่จากข้อความ

หากวันที่ถูกเก็บอยู่ในรูปแบบ 'Invoice_20240115_ABC' สามารถใช้ MID ดึง '20240115' ออกมาเพื่อแปลงเป็นวันที่จริงได้

Examples

ดึงข้อความพื้นฐาน 5 ตัวอักษร
MID("Fluid Flow", 1, 5)
เริ่มจากตำแหน่งที่ 1 (ตัว 'F') ดึงมา 5 ตัวอักษร ได้ "Fluid"
Excel Formula:

=MID("Fluid Flow", 1, 5)

Result:

Fluid

ดึงรหัสสินค้าจากข้อความรหัสผสม
MID("LOC-A123-XL", 5, 4)
สมมติ A2 มีค่า "LOC-A123-XL" ที่ตำแหน่งที่ 5 (หลัง "LOC-") คือ "A" ดึงมา 4 ตัวอักษร ได้ "A123" ซึ่งเป็นรหัสสินค้า
Excel Formula:

=MID("LOC-A123-XL", 5, 4)

Result:

A123

ดึงปีจากรหัสวันที่แบบปรับปรุงอัตโนมัติ
MID(A2, FIND("-", A2)+1, 4)
สมมติ A2 = "INV-2025-12-001" ใช้ FIND หาตำแหน่งขีดตัวแรก (+1 เพื่อข้ามขีด) แล้วดึงมา 4 ตัว ได้ปี "2025" โดยไม่ต้องกำหนดตำแหน่งคงที่
Excel Formula:

=MID(A2, FIND("-", A2)+1, 4)

Result:

2025

ดึงข้อความระหว่างขีดสองตัว
MID(A2, FIND("-", A2)+1, FIND("-", A2, FIND("-", A2)+1)-FIND("-", A2)-1)
สมมติ A2 = "INV-2025-12-001" ใช้ FIND สองครั้งเพื่อหาตำแหน่งขีดตัวแรกและตัวที่สอง แล้วคำนวณจำนวนตัวอักษรระหว่างนั้น ได้ "2025" (ข้อความระหว่างขีดสองตัว)
Excel Formula:

=MID(A2, FIND("-", A2)+1, FIND("-", A2, FIND("-", A2)+1)-FIND("-", A2)-1)

Result:

2025

FAQs

ทำไม MID ใช้นับตำแหน่งเริ่มจาก 1 ไม่ใช่ 0?

Excel ใช้ระบบ 1-based indexing (นับเริ่มจาก 1) ต่างจากภาษา Python หรือ JavaScript ที่ใช้ 0-based indexing ดังนั้นตัวอักษรตัวแรกจะอยู่ที่ตำแหน่งที่ 1 เสมอ

ถ้า start_num เกินความยาวข้อความจะเกิดอะไร?

MID จะคืนค่าเป็นข้อความว่าง (empty text) โดยไม่เกิด error ซึ่งดีมากสำหรับสูตรที่ยืดหยุ่น

ถ้า num_chars เป็นเลขลบจะเกิดอะไร?

จะเกิด Error #VALUE! โดยตรง num_chars ต้องเป็นเลขบวกเสมอ

MID กับ LEFT และ RIGHT ต่างกันอย่างไร?

LEFT ดึงจากด้านซ้าย RIGHT ดึงจากด้านขวา แต่ MID ดึงจากตำแหน่งใดก็ได้ตรงกลาง ส่วนใหญ่ใช้ MID มากกว่าเพราะมีความยืดหยุ่นมากขึ้น

Resources & Related

Related posts

Related functions

Additional Notes

MID เป็นฟังก์ชันดึงข้อความสำหรับ “ตัดเอาตรงกลาง” นั่นเอง คุณใช้มันเพื่อดึงตัวอักษรจากตำแหน่งใดก็ได้ในข้อความ เพียงบอกว่าต้องการเริ่มจากตำแหน่งไหน และต้องการดึงกี่ตัวอักษร

ที่เจ๋งคือ MID ไม่มีการตรวจสอบข้อผิดพลาดแบบเข้มงวด ถ้าคุณขอตัวอักษรมากกว่าที่มีอยู่ มันจะให้เท่าที่มี ถ้า start_num เกินความยาวข้อความ มันจะให้ค่าว่างแทนจะ Error ซึ่งช่วยแก้ปัญหากับข้อมูลที่ยาวไม่เท่ากันได้ดี 😎

Leave a Reply

Your email address will not be published. Required fields are marked *