MID
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด
MID คืออะไร
ดึงตัวอักษรจากกลางข้อความ โดยระบุตำแหน่งเริ่มและจำนวนตัวอักษร
ใช้เมื่อไหร่
- ดึงปีหรือเดือนที่อยู่กลางเลขที่เอกสาร
- ดึงข้อความหลังตัวคั่น หรือข้อความในวงเล็บ
- แปลงรหัสล็อตหรือรหัสที่มีวันที่ฝังอยู่ให้เป็นวันที่จริง
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| text | จำเป็น | ข้อความหรือช่องที่ต้องการตัด |
| start_num | จำเป็น | ตำแหน่งตัวแรกที่ต้องการ ตัวแรกของข้อความคือ 1 น้อยกว่า 1 ได้ #VALUE! เกินความยาวได้ข้อความว่าง |
| num_chars | จำเป็น | จำนวนตัวอักษรที่ต้องการ ติดลบได้ #VALUE! ถ้าเกินท้ายข้อความจะได้ถึงตัวสุดท้าย |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
ปีอยู่ตัวที่ 4 ถึง 7 ของเลขที่คำสั่งซื้อ จึงเริ่มที่ตัวที่ 4 แล้วเอา 4 ตัว
| แถว | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 4 | เลขที่คำสั่งซื้อ | วันที่ | พนักงานขาย | ยอดสุทธิ (บาท) | ปีในเลขที่ | ||
| 5 | SF-2025-0734 | 1/12/2025 | สุภาพร หงษ์ทอง | 355,320 | 2025 | ||
| 6 | SF-2025-0738 | 2/12/2025 | กมลชนก พงษ์พานิช | 1,235,098 | 2025 | ||
| 7 | SF-2025-0739 | 3/12/2025 | นันทิดา กิจเจริญ | 22,878 | 2025 | ||
| 8 | SF-2025-0741 | 4/12/2025 | นันทิดา กิจเจริญ | 298,740 | 2025 | ||
| 9 | SF-2025-0744 | 6/12/2025 | สุภาพร หงษ์ทอง | 269,705 | 2025 | ||
| 10 | SF-2025-0750 | 8/12/2025 | กมลชนก พงษ์พานิช | 522,200 | 2025 | ||
| 11 | SF-2025-0756 | 9/12/2025 | สุภาพร หงษ์ทอง | 1,057,572 | 2025 | ||
| 12 | SF-2025-0760 | 11/12/2025 | กมลชนก พงษ์พานิช | 1,049,152 | 2025 | ||
| 13 | SF-2025-0774 | 15/12/2025 | นันทิดา กิจเจริญ | 334,720 | 2025 | ||
| 14 | SF-2025-0784 | 19/12/2025 | กมลชนก พงษ์พานิช | 289,275 | 2025 | ||
| 15 | |||||||
| 16 | |||||||
| 17 | |||||||
| 18 | |||||||
| 19 |
ขั้นตอนการคำนวณ (4)
- อ่านสูตร: MID(A5,4,4) = เริ่มที่ตัวที่ 4 แล้วเอา 4 ตัว (S = 1, F = 2, ขีด = 3)
- ลองเปลี่ยน start_num ใน I5 เป็น 9 จะได้เลขลำดับ 0734
- start_num น้อยกว่า 1 ได้ #VALUE! ส่วน start_num ที่เกินความยาวได้ข้อความว่าง
ตัวอย่างทั้งหมด 4 แบบ
- 1ดึงปีจากเลขที่คำสั่งซื้อ · ปีอยู่ตัวที่ 4 ถึง 7 ของเลขที่คำสั่งซื้อ จึงเริ่มที่ตัวที่ 4 แล้วเอา 4 ตัว
- 2ดึงนามสกุลด้วย MID + FIND · เริ่มที่ตัวถัดจากเว้นวรรค แล้วใส่ num_chars เกินไว้ MID จะหยุดที่ตัวสุดท้ายเอง
- 3ดึงหน่วยบรรจุที่อยู่ในวงเล็บ · FIND หาวงเล็บเปิดและวงเล็บปิด แล้ว MID เอาข้อความระหว่างสองตำแหน่ง
- 4แปลงรหัสล็อตเป็นวันที่ผลิต · รหัสล็อต NP-20251203-01 เก็บวันผลิตแบบ ปีเดือนวัน MID แยกทีละส่วน แล้ว DATE ประกอบเป็นวันที่
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| MID |
MID ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก
เลือกฟังก์ชันให้ถูกงาน
| ฟังก์ชัน | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| MID | เอาตัวอักษรจากตำแหน่งที่กำหนด | =MID(A5,4,4) |
| LEFT | เริ่มจากตัวแรกเสมอ | =LEFT(A5,2) |
| RIGHT | นับจากตัวสุดท้ายย้อนเข้ามา | =RIGHT(A5,4) |
| MID + FIND | ตำแหน่งไม่คงที่ ให้ตัวคั่นบอกตำแหน่ง | =MID(A5,FIND(" ",A5)+1,100) |
| TEXTSPLIT | แยกทุกส่วนด้วยตัวคั่น (Excel 2024 และ Microsoft 365) | =TEXTSPLIT(A5,"-") |
ใน Power BI ใช้อะไร
ชื่อเดียวกันใน DAX ใช้ใน Calculated Column ได้ งานล้างข้อมูลจำนวนมากควรทำใน Power Query ก่อนโหลด
ไฟล์ฝึก MID
9Expert-MID-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1เลขลำดับของเลขที่คำสั่งซื้อแถว 9 ด้วย MID (เริ่มตัวที่ 9 เอา 4 ตัว)
- ข้อ 2นามสกุลของพนักงานขายแถว 10 (ทุกตัวหลังเว้นวรรค)
- ข้อ 3หน่วยบรรจุในวงเล็บของสินค้าแถว 12 (ไม่เอาวงเล็บ)
- ข้อ 4ปีจากเลขที่คำสั่งซื้อแถว 15 เป็นตัวเลข
- ข้อ 5วันผลิตจากรหัสล็อตในช่อง C11 (ปีเริ่มตัวที่ 4 · เดือนตัวที่ 8 · วันตัวที่ 10)
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. =MID("SF-2025-0734",4,4) ได้อะไร
เริ่มตัวที่ 4 คือเลข 2 แล้วเอา 4 ตัว
2. ถ้า start_num มากกว่าความยาวข้อความ MID ได้อะไร
Microsoft ระบุว่าได้ข้อความว่าง ส่วน start_num ที่น้อยกว่า 1 ได้ #VALUE!
3. =MID("SF-2025-0734",4,4)=2025 ได้อะไร
MID ได้ข้อความ "2025" ซึ่งไม่เท่ากับตัวเลข 2025 ต้องแปลงด้วย VALUE ก่อน
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)