TEXTSPLIT
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างคำนวณด้วย LibreOffice และตรงกับตัวคำนวณของหน้าเว็บ
TEXTSPLIT คืออะไร
แยกข้อความออกเป็นหลายช่องตามตัวคั่น แยกไปทางขวาเป็นคอลัมน์ แยกลงเป็นแถว หรือทั้งสองแบบเป็นตาราง
ใช้เมื่อไหร่
- แยกชื่อกับนามสกุลออกเป็นสองคอลัมน์
- แยกรายการที่พิมพ์รวมกันในช่องเดียว เช่น รายการสั่งซื้อจากแชต ออกเป็นแถว
- แยกข้อมูลที่คัดลอกมาจากระบบอื่นซึ่งคั่นด้วยจุลภาคหรือตัวคั่นอื่นให้เป็นตาราง
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| text | จำเป็น | ข้อความหรือช่องที่ต้องการแยก |
| col_delimiter | จำเป็น | ตัวคั่นที่แยกไปทางขวาเป็นคอลัมน์ · เว้นว่างได้ถ้าใส่ row_delimiter · หลายตัวใส่เป็น {",","/"} |
| [row_delimiter] | ไม่บังคับ | ตัวคั่นที่แยกลงเป็นแถว |
| [ignore_empty] | ไม่บังคับ | FALSE (ค่าเริ่มต้น) ตัวคั่นติดกันได้ช่องว่าง · TRUE ข้ามช่องว่าง |
| [match_mode] | ไม่บังคับ | 0 (ค่าเริ่มต้น) ตัวพิมพ์เล็กใหญ่ต้องตรง · 1 ไม่สนตัวพิมพ์เล็กใหญ่ |
| [pad_with] | ไม่บังคับ | ค่าที่เติมในช่องที่ขาดเมื่อแต่ละแถวมีจำนวนชิ้นไม่เท่ากัน ค่าเริ่มต้น #N/A |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
แยกชื่อใน I4 ตรงเว้นวรรค ผลลัพธ์ spill ไปทางขวาที่ A15:B15
| แถว | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 4 | พนักงานขาย | ภูมิภาค | เป้ายอดขาย (บาท) | ยอดขายจริง (บาท) | คะแนนลูกค้า (เต็ม 5) | ||
| 5 | เอกชัย บัวทอง | ใต้ | 12,000,000 | 12,706,667 | 4.6 | ||
| 6 | ธีรพงษ์ ฉัตรแก้ว | ตะวันออกเฉียงเหนือ | 11,000,000 | 10,668,812 | 3.8 | ||
| 7 | สุภาพร หงษ์ทอง | ตะวันออก | 9,000,000 | 9,700,599 | 4.2 | ||
| 8 | นันทิดา กิจเจริญ | กลาง | 10,000,000 | 9,123,730 | 4.5 | ||
| 9 | กมลชนก พงษ์พานิช | เหนือ | 7,000,000 | 7,651,296 | 4.1 | ||
| 10 | กานดา ดีพร้อม | ตะวันออกเฉียงเหนือ | 7,500,000 | 6,853,226 | 3.9 | ||
| 11 | เอกชัย มั่งมีศรี | กลาง | 6,000,000 | 6,635,892 | 4.7 | ||
| 12 | นภาพร แสงทอง | เหนือ | 7,000,000 | 5,919,123 | 3.5 | ||
| 13 | ผลลัพธ์จากสูตรในช่อง A15 · spill ลงมาเอง | ||||||
| 14 | ชื่อ | นามสกุล | |||||
| 15 | สุภาพร | หงษ์ทอง | |||||
| 16 | |||||||
| 17 | |||||||
| 18 | |||||||
| 19 | |||||||
ขั้นตอนการคำนวณ (4)
- อ่านสูตร A15: แยก I4 ทุกจุดที่มีเว้นวรรค ได้ 2 ชิ้น spill ไปทางขวาที่ A15:B15
- ลองพิมพ์ชื่อที่มีเว้นวรรค 2 จุดใน I4 ผลจะกว้างขึ้นเป็น 3 ช่อง
- ต้องการชิ้นเดียว ครอบด้วย INDEX เช่น INDEX(TEXTSPLIT(I4," "),2) ได้นามสกุล
ตัวอย่างทั้งหมด 4 แบบ
- 1แยกชื่อกับนามสกุลเป็นสองคอลัมน์ · แยกชื่อใน I4 ตรงเว้นวรรค ผลลัพธ์ spill ไปทางขวาที่ A15:B15
- 2แยกรายการที่คั่นด้วยจุลภาคหรือทับ ลงเป็นแถว · ใส่ตัวคั่นใน row_delimiter ผลจึง spill ลงเป็นแถว และใช้ {",","/"} รับได้ทั้งสองแบบ
- 3แยกเป็นตารางรหัสกับจำนวน และเติมช่องที่ขาด · ใช้ ":" แยกคอลัมน์ ใช้ "," หรือ "/" แยกแถว รายการที่ไม่มีจำนวนได้ค่าจาก pad_with
- 4แยกชื่อทั้งคอลัมน์ในสูตรเดียว · TEXTJOIN รวมทุกชื่อคั่นด้วย ";" ก่อน แล้ว TEXTSPLIT แยกกลับ: เว้นวรรคแยกคอลัมน์ ";" แยกแถว
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| TEXTSPLIT |
ใช้ Excel 2016, 2019 หรือ 2021 ให้ใช้สูตรเหล่านี้แทน ได้ผลเท่ากับตัวอย่างที่ระบุ และมีในชีต “Excel 2016-2021” ของไฟล์ฝึก ต่างจาก TEXTSPLIT ตรงที่ผลลัพธ์ไม่ spill เอง ต้องลากสูตรลงให้พอกับจำนวนรายการ (ไม่ต้องกด Ctrl + Shift + Enter)
| แทนตัวอย่าง | สูตรทางเลือก |
|---|---|
| ตัวอย่าง 1, 4 ชื่อ | =LEFT(A5,FIND(" ",A5)-1) |
| ตัวอย่าง 1, 4 นามสกุล | =MID(A5,FIND(" ",A5)+1,LEN(A5)) |
| ตัวอย่าง 2 รายการที่ 1, 2, 3, … (ลากลง) | =TRIM(MID(SUBSTITUTE(SUBSTITUTE($C$18,"/",","),",",REPT(" ",LEN($C$18))),(ROWS($A$5:A5)-1)*LEN($C$18)+1,LEN($C$18))) |
เลือกวิธีให้ถูกงาน
| วิธี | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| TEXTSPLIT | แยกทุกชิ้นด้วยสูตร อัปเดตเองเมื่อข้อมูลเปลี่ยน | =TEXTSPLIT(I4," ") |
| TEXTBEFORE / TEXTAFTER | ต้องการชิ้นเดียว เช่น ชื่อหรือนามสกุล | =TEXTAFTER(I4," ") |
| Data > Text to Columns | แยกครั้งเดียว ไม่ต้องอัปเดตตาม ใช้ได้ทุกเวอร์ชัน | Data > Text to Columns |
| LEFT / MID + FIND | สูตรแยกทีละชิ้นใน Excel 2016–2021 | =LEFT(A5,FIND(" ",A5)-1) |
ใน Power BI ใช้อะไร
แยกข้อความเป็นงานเตรียมข้อมูล ทำใน Power Query ก่อนโหลดเข้าโมเดล
ไฟล์ฝึก TEXTSPLIT
9Expert-TEXTSPLIT-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1แยกรายการในช่อง I8 ที่คั่นด้วยจุลภาคหรือทับ (, หรือ /) ลงเป็นแถว
- ข้อ 2นับจำนวนรายการในช่อง I11 (คั่นด้วยจุลภาค)
- ข้อ 3แยกรายการในช่อง I9 ที่คั่นด้วยจุลภาคลงเป็นแถว โดยข้ามช่องว่างที่เกิดจาก ,, ซ้อนกัน
- ข้อ 4รายการแรกในช่อง I7 (คั่นด้วยทับ /)
- ข้อ 5รหัสสินค้าของรายการที่ 2 ในช่อง I10 (":" คั่นรหัสกับจำนวน "/" คั่นแต่ละรายการ)
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. =TEXTSPLIT("P001,P024,P030",",") ให้ผลแบบใด
ตัวคั่นอยู่ใน col_delimiter ผลจึง spill ไปทางขวาเป็นคอลัมน์
2. ต้องการแยกรายการลงเป็นแถว เขียนสูตรอย่างไร
เว้น col_delimiter ไว้ แล้วใส่ตัวคั่นใน row_delimiter
3. แยกเป็นตารางแล้วบางแถวมีชิ้นน้อยกว่าแถวอื่น ช่องที่ขาดแสดงอะไรถ้าไม่ใส่ pad_with
ค่าเริ่มต้นของ pad_with คือ #N/A
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)