---
title: Splitter.SplitTextByDelimiter – แยกข้อความโดยใช้ตัวคั่น
url: https://www.thepexcel.com/functions/power-query/splitter-functions/splitter-splittextbydelimiter/
type: function-explainer
program: Power Query
syntax: "Splitter.SplitTextByDelimiter(delimiter as text, optional quoteStyle as nullable number, optional csvStyle as nullable number) as function"
date: 2025-12-12
updated: 2025-12-23
scores:
  popularity: 7
  difficulty: 3
  usefulness: 7
---

# Splitter.SplitTextByDelimiter – แยกข้อความโดยใช้ตัวคั่น

> Splitter.SplitTextByDelimiter สร้างฟังก์ชันสำหรับแยกข้อความเป็นรายการโดยใช้ตัวคั่นที่ระบุ มีประโยชน์

## คำอธิบาย

Splitter.SplitTextByDelimiter สร้างฟังก์ชันสำหรับแยกข้อความเป็นรายการโดยใช้ตัวคั่นที่ระบุ มีประโยชน์เมื่อต้องแยก CSV หรือข้อความที่คั่นด้วยตัวอักษรเฉพาะ

## Syntax

```excel
Splitter.SplitTextByDelimiter(delimiter as text, optional quoteStyle as nullable number, optional csvStyle as nullable number) as function
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| delimiter | Yes | text |  | ตัวคั่นที่ใช้แยกข้อความ เช่น "," ";" "\|" หรือสตริงใดๆ ที่ต้องการ |
| quoteStyle | No | nullable number | null | ระบุวิธีจัดการข้อความในเครื่องหมาย เช่น QuoteStyle.Csv (ค่า 1) หรือ QuoteStyle.None (ค่า 0) |
| csvStyle | No | nullable number | null | ระบุวิธีจัดการลักษณะ CSV เฉพาะ เช่น CsvStyle.QuoteAfterDelimiter |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: แยกข้อความแบบพื้นฐาน

```excel
let
    Splitter = Splitter.SplitTextByDelimiter(","),
    Result = Splitter("Apple,Banana,Orange")
in
    Result
```

**ผลลัพธ์:** `{"Apple", "Banana", "Orange"}`

สร้างฟังก์ชัน splitter สำหรับคอมมา จากนั้นใช้แยกข้อความ

### 2. ตัวอย่างที่ 2: แยกกับ QuoteStyle.Csv

```excel
let
    Splitter = Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv),
    Result = Splitter("Smith, John,30,"New York, NY"")
in
    Result
```

**ผลลัพธ์:** `{"Smith", " John", "30", "New York, NY"}`

QuoteStyle.Csv ยอมให้ค่าที่อยู่ในเครื่องหมาย "" ประกอบด้วยตัวคั่นได้

### 3. ตัวอย่างที่ 3: ใช้กับตัวคั่นหลายตัวอักษร

```excel
let
    Splitter = Splitter.SplitTextByDelimiter(" | "),
    Result = Splitter("Product A | Product B | Product C")
in
    Result
```

**ผลลัพธ์:** `{"Product A", "Product B", "Product C"}`

สามารถใช้ตัวคั่นแบบหลายอักษร เช่น " | "

### 4. ตัวอย่างที่ 4: ใช้ร่วมกับ Table.TransformColumns

```excel
let
    Source = Table.FromRows(
        {{"John,25,NY"}, {"Jane,30,LA"}, {"Bob,28,TX"}},
        {"FullData"}
    ),
    Splitter = Splitter.SplitTextByDelimiter(","),
    Split = Table.TransformColumns(
        Source,
        {{"FullData", Splitter}}
    )
in
    Split
```

**ผลลัพธ์:** `ตารางเปลี่ยนจากข้อความเป็นรายการ {"John", "25", "NY"} เป็นต้น`

ใช้ Splitter กับ TransformColumns เพื่อแยกข้อมูลในคอลัมน์

## หมายเหตุเพิ่มเติม

- ใช้ Table.TransformColumns ร่วมกับ Splitter เพื่อแยกคอลัมน์ทั้งหมดที่มีข้อมูลคล้ายกัน

- หากข้อมูลมีช่องว่าง ให้ใช้ Text.Trim ร่วมกัน หรือ Text.Trim ต่อการแยก

- สามารถทดสอบตัวคั่นใน Query Editor เพื่อให้แน่ใจว่าถูกต้องก่อนใช้

## คำถามที่พบบ่อย

**Q: ต่างระหว่าง Splitter.SplitTextByDelimiter กับ Text.Split อย่างไร**

Splitter.SplitTextByDelimiter ส่งกลับ "ฟังก์ชัน" ที่สามารถนำไปใช้หลายครั้ง ขณะที่ Text.Split ทำการแยกทันที ดังนั้น Splitter จึงมีประสิทธิภาพมากกว่าเมื่อต้องใช้แยกหลายครั้ง

**Q: ควรใช้ QuoteStyle.Csv เมื่อไร**

ใช้เมื่อข้อมูล CSV มีค่าบางค่ามีตัวคั่นอยู่ภายใน เช่น "Smith, John" จะไม่ถูกแยกที่เครื่องหมายจุลภาค

**Q: สามารถใช้ตัวคั่นแบบ regex ได้หรือไม่**

ไม่ได้ Splitter.SplitTextByDelimiter ใช้แค่ข้อความธรรมดา หากต้องการ regex ให้ใช้ Text.Split กับ Regex.Split แทน

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn: Splitter.SplitTextByDelimiter](https://learn.microsoft.com/en-us/powerquery-m/splitter-splittextbydelimiter) _(official)_
- [Microsoft Learn: QuoteStyle enumeration](https://learn.microsoft.com/en-us/powerquery-m/quotestyle-type) _(official)_

---

_Source: [https://www.thepexcel.com/functions/power-query/splitter-functions/splitter-splittextbydelimiter/](https://www.thepexcel.com/functions/power-query/splitter-functions/splitter-splittextbydelimiter/)_
