---
title: สารพัดวิธีแยกข้อความออกจากกัน
url: https://www.thepexcel.com/how-to-separate-text/
type: post
date: 2017-01-17
updated: 2022-04-24
author: Sira Ekabut
categories: [Power Query, Excel ทั่วไป, "Highlights : บทความแนะนำ"]
tags: [split, text]
---

# สารพัดวิธีแยกข้อความออกจากกัน

> สมมติว่าเรามีข้อความบางอย่าง แล้วเราอยากจะแยกข้อความออกจากกัน เช่น ตัวอย่างข้างล่างนี้ มีคั่นด้วย – (แต่ว่าตำแหน่งของมันไม่แน่ไม่นอน) เราจะแยกข้อความออกมาเป็น 3 ส่วนได้ยังไง? มาดูกัน วิธีแยกข้อความ 1 : Text to Column วิธีที่ง่ายที่สุดคือการใช้เครื่องมือ Text to Column โดยให้...

สมมติว่าเรามีข้อความบางอย่าง แล้วเราอยากจะแยกข้อความออกจากกัน

 

เช่น ตัวอย่างข้างล่างนี้ มีคั่นด้วย – (แต่ว่าตำแหน่งของมันไม่แน่ไม่นอน) เราจะแยกข้อความออกมาเป็น 3 ส่วนได้ยังไง? มาดูกัน

 ![1](https://www.thepexcel.com/wp-content/uploads/2017/01/split-00.png) 

## วิธีแยกข้อความ 1 : Text to Column

 

วิธีที่ง่ายที่สุดคือการใช้**เครื่องมือ Text to Column **โดยให้ Copy ข้อมูลต้นฉบับออกมาก่อน

 

แล้วเลือกข้อมูล แล้วไปที่ [Data]–> Data Tools –> Text to Column –> Delimited และให้ใส่เครื่องหมาย – (ที่เป็นตัวคั่น) ลงไปใน Other

 ![2](https://www.thepexcel.com/wp-content/uploads/2017/01/split-01-2.png) 

จากนั้นกด Finish แค่นี้ก็เสร็จแล้ว ได้เป็น 3 คอลัมน์อย่างที่ต้องการ

 ![3](https://www.thepexcel.com/wp-content/uploads/2017/01/split-02.png) 

## วิธีแยกข้อความ 2 : ใช้สูตร

 

การใส่สูตรมีข้อดีอย่างมาก คือ ข้อมูลอัปเดทโดยอัตโนมัติ โดยไม่ต้องกดเครื่องมือใดๆ เลย แต่ข้อเสียคือ เขียนยาก ถ้ายังใช้สูตรไม่คล่อง

 

### คำตัวต้น

 

ตัวต้นเป็นตัวที่หาง่ายสุด ใน 3 ตัว เพราะการใช้ฟังก์ชัน FIND หรือ SEARCH ซึ่งสามารถหาตำแหน่ง – ตัวแรกได้อยู่แล้ว

 

```markdown
หาตำแหน่งตัวคั่นแรก : =FIND("-",A2)
```

 

```markdown
เอาข้อความข้างซ้าย : =LEFT(A2,FIND("-",A2)-1) 
```

 

ที่ต้อง -1 เพราะไม่ต้องการเครื่องหมาย – มาด้วย จึงต้องร่นไปทางซ้ายอีก 1 ตำแหน่ง

 ![4](https://www.thepexcel.com/wp-content/uploads/2017/01/split-03.png) 

### คำตัวกลาง

 

ตัวกลาง จะหาได้เราต้องรู้ตำแหน่งของ – ตัวหน้า และ – ตัวหลัง ซึ่งตัวหน้าเรารู้อยู่แล้ว

 

ซึ่ง – ตัวหลัง หากได้ 2 วิธี

 

**วิธีแรก**

 
- ใช้ FIND ซ้ำไปอีก โดยระบุการค้นหาให้เริ่มจากตำแหน่ง – ตัวแรก โดย+เพิ่มไปอีก 1 ตำแหน่ง ซึ่งจะทำให้เจอ – ตัวที่สอง

 

```markdown
=FIND("-",A2,FIND("-",A2)+1)
```

 

**วิธีสอง **

 

ให้ SUBSTITUTE – ตัวที่ 2 ด้วยเครื่องหมายพิเศษอื่น เช่น |

 

```markdown
 =SUBSTITUTE(A2,"-","|",2) 
```

 

**Tips :** ถ้าไม่รู้ว่าข้อความมี – กี่ตัว?  
ให้ลอง SUBSTITUTE ค่า “-” ด้วย “” แล้วลองนับจำนวนตัวอักษรดูว่าหายไปกี่ตัว

 

```markdown
 =LEN(A2)-LEN(SUBSTITUTE(A2,"-","")) 
```

 

จากนั้นให้ FIND ตำแหน่ง | อีกที จะได้

 

```markdown
 =FIND("|",SUBSTITUTE(A2,"-","|",2)) 
```

 

พอรู้ตำแหน่งของตัวที่ 2 ก็จะตัดตัวกลางและตัวท้ายได้ง่ายแล้ว

 

**คำตัวกลาง **

 

```markdown
=MID(xxx, ตัวคั่นแรก +1, ตัวคั่นสอง - ตัวคั่นแรก -1)
```

 

```markdown
=MID(A2, FIND("-",A2)  +1,  FIND("|",SUBSTITUTE(A2,"-","|",2)) - FIND("-",A2)   -1)
```

 ![5](https://www.thepexcel.com/wp-content/uploads/2017/01/split-04.png) 

### คำตัวหลัง

 

หาไม่ยากโดยใช้ RIGHT

 

แต่จะเอา RIGHT กี่ตัวดี? วิธีคิดคือเอาจำนวนตัวอักษรทั้งหมด – ตำแหน่งตัวคั่นที่สอง

 

```markdown
 =LEN(A2)-FIND("|",SUBSTITUTE(A2,"-","|",2)) 
```

 

จากนั้นก็ใช้ RIGHT ได้เลย

 

```markdown
 =RIGHT(A2,   LEN(A2)-FIND("|",SUBSTITUTE(A2,"-","|",2))   ) 
```

 ![6](https://www.thepexcel.com/wp-content/uploads/2017/01/split-05.png) 

## วิธีแยกข้อความ 3 : Power Query

 

ถ้า Excel 2016 จะมีมาให้เลย แต่ถ้าต่ำกว่านั้นต้องไป Download Add-in ก่อน (ฟรี) แต่โหลดให้ถูก version นะ ไม่งั้นจะลงไม่ได้

 

ถ้าพร้อมแล้วก็สร้าง Table ก่อน โดยเลือกข้อมูลแล้วกด Ctrl+T

 ![7](https://www.thepexcel.com/wp-content/uploads/2017/01/split-06-1.png) 

จากนั้นไปที่ Data (หรือ Power Query)-> From Table

 ![8](https://www.thepexcel.com/wp-content/uploads/2017/01/split-07.png) 

Add Column -> Duplicate Column แรกออกมาก่อน ไม่งั้นจะไม่เหลือตัว Original เก็บไว้

 

เลือก column ใหม่แล้วไปที่ Transform -> Split Column -> Delimiter

 ![9](https://www.thepexcel.com/wp-content/uploads/2017/01/split-09.png) 

เลือก custom ใส่ – ลงไป แล้ว ok

 ![10](https://www.thepexcel.com/wp-content/uploads/2017/01/split-10.png) 

ได้ผลลัพธ์ใน Power Query ดังใจแล้ว กด Close & Load ได้เลย

 ![11](https://www.thepexcel.com/wp-content/uploads/2017/01/split-11.png) 

ผลลัพธ์จะกลับมาที่ Excel ใน Sheet ใหม่

 ![12](https://www.thepexcel.com/wp-content/uploads/2017/01/split-12.png) 

จะเห็นว่าคล้ายวิธีแรก แต่ข้อดีกว่ามากๆ เลย คือ หากมีข้อมูลเพิ่มมา แค่กด Refresh ผลลัพธ์ก็จะเปลี่ยนและอัปเดทให้อัตโนมัติ!!

 

เพิ่ม Data ไปอีก 2 บรรทัด

 ![13](https://www.thepexcel.com/wp-content/uploads/2017/01/split-13-1.png) 

ไปที่ผลลัพธ์ กดคลิ๊กขวา Refresh

 ![14](https://www.thepexcel.com/wp-content/uploads/2017/01/split-14.png) 

ปรากฎว่า Data ใหม่มา แต่มีอันนึงไม่ยอมแยกข้อความให้

 ![15](https://www.thepexcel.com/wp-content/uploads/2017/01/split-15-1.png) 

เราสามารถไปตรวจสอบได้โดยไปที่ Query –> Edit

 ![16](https://www.thepexcel.com/wp-content/uploads/2017/01/split-16-1.png) 

ปรากฎว่า มีค่า Error ขึ้นมาบรรทัดนึงนี่เอง

 ![17](https://www.thepexcel.com/wp-content/uploads/2017/01/split-17-1.png) 

พอลองไล่คลิ๊ก Applied Steps ดูก็พบว่า สามารถทำมาถึง Split Column by Delimiter ได้โดยไม่ Error เลย

 ![18](https://www.thepexcel.com/wp-content/uploads/2017/01/split-18.png) 

ซึ่งแปลว่า Error น่าจะเกิดจากการทำ Changed Type Step สุดท้าย (เปลี่ยนตัวหนังสือเป็นตัวเลข)

 

เราจึงกด x ข้างหน้่า Changed Type อันสุดท้ายเพื่อบอกว่า Power Query ไม่ต้องทำ Step นี้แล้วนะ ลบ Step ทิ้งไปเลย

 ![19](https://www.thepexcel.com/wp-content/uploads/2017/01/split-19.png) 

จากนั้นกด Close & Load เป็นอันจบ เสร็จแบบเนียนๆ เลย

 ![20](https://www.thepexcel.com/wp-content/uploads/2017/01/split-20.png) 

## บทสรุป

 
- ถ้าทำที่เดียวจบ ใช้ Text to Column เนี่ยเจ๋งสุดแล้ว เร็วและง่าย แต่ถ้ามีข้อมูลมาใหม่ต้องทำใหม่
- วิธีเขียนสูตรจะเขียนยากหน่อย แต่ Flexible มาก จะเขียนอะไรก็ได้ อีกอย่าง ถ้ามีข้อมูลใหม่แค่ลากสูตรก็ได้ผลลัพธ์เลย
- วิธี Power Query ใช้ไม่ยาก แต่อาจยังไม่คุ้นเคย หัดใช้บ่อยๆ จะพบว่าทรงพลังมากๆ ข้อมูลใหม่มาแค่กด Refresh ก็ได้ผลลัพธ์เลย

 

ยาวหน่อยแต่หวังว่าจะถูกใจผู้อ่านนะครับ ใครสงสัยอะไรก็สามารถถามมาได้เลยครับ

---

_Source: [https://www.thepexcel.com/how-to-separate-text/](https://www.thepexcel.com/how-to-separate-text/)_
