---
title: Text.Clean – ลบตัวอักษรควบคุมออกจากข้อความ
url: https://www.thepexcel.com/functions/power-query/text-functions/text-clean/
type: function-explainer
program: Power Query
syntax: Text.Clean(text as nullable text) as nullable text
date: 2025-12-03
updated: 2025-12-20
scores:
  popularity: 8
  difficulty: 2
  usefulness: 8
---

# Text.Clean – ลบตัวอักษรควบคุมออกจากข้อความ

> Text.Clean ลบตัวอักษรควบคุมที่ไม่สามารถพิมพ์ได้ (Control Characters) เช่น Line Feed, Tab, Carriage R

## คำอธิบาย

Text.Clean ลบตัวอักษรควบคุมที่ไม่สามารถพิมพ์ได้ (Control Characters) เช่น Line Feed, Tab, Carriage Return ออกจากข้อความ โดยเก็บเฉพาะตัวอักษรที่มองเห็นได้และพิมพ์ได้

## Syntax

```excel
Text.Clean(text as nullable text) as nullable text
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| text | Yes | nullable text |  | ข้อความที่ต้องการลบตัวอักษรควบคุมออก ยอมรับค่า null |

## ตัวอย่าง

### 1. ลบ Line Feed (ตัวอักษรขึ้นบรรทัดใหม่)

```excel
= Text.Clean("Hello#(lf)World")
```

**ผลลัพธ์:** `"HelloWorld"`

Text.Clean ลบตัวอักษร Line Feed (#(lf)) ออก โดยเก็บเฉพาะข้อความจริง Hello กับ World และติดกันไปเลยโดยไม่มีช่องว่าง

### 2. ลบหลาย Control Characters พร้อมกัน

```excel
= let
    DirtyText = "Data#(tab)Value#(cr)#(lf)Next",
    Cleaned = Text.Clean(DirtyText)
in
    Cleaned
```

**ผลลัพธ์:** `"DataValueNext"`

ข้อความ DirtyText มี Tab (#(tab)), Carriage Return (#(cr)), และ Line Feed (#(lf)) ผสมกันอยู่ Text.Clean ลบทั้งหมดออกให้เหลือแค่ "DataValueNext" อย่างเรียบร้อย

### 3. ใช้ใน Table.AddColumn เพื่อทำความสะอาดคอลัมน์ทั้งหมด

```excel
= let
    Source = Table.FromRows(
        {{"Hello#(lf)World", "Test#(tab)Data"}, {"ABC#(cr)D", "XY#(lf)Z"}},
        {"Column1", "Column2"}
    ),
    Cleaned = Table.TransformColumns(
        Source,
        {{"Column1", Text.Clean}, {"Column2", Text.Clean}}
    )
in
    Cleaned
```

**ผลลัพธ์:** `Column1: ["HelloWorld", "ABCD"], Column2: ["TestData", "XYZ"]`

ใช้ Table.TransformColumns เพื่อใช้ Text.Clean กับคอลัมน์ทั้งหมด แต่ละแถวจะลบ Control Character ออกอย่างอัตโนมัติ ฉันชอบวิธีนี้มากเพราะสะดวกในการทำความสะอาดข้อมูลจำนวนมาก 😎

### 4. ลบ Control Character แล้ว Trim ช่องว่างด้านหน้าหลัง

```excel
= let
    RawData = "  Text with#(tab)Spaces  ",
    Step1 = Text.Clean(RawData),
    Step2 = Text.Trim(Step1)
in
    Step2
```

**ผลลัพธ์:** `"Text withSpaces"`

ขั้นแรก Text.Clean ลบ Control Character (Tab) ออก ได้ "  Text withSpaces  " จากนั้น Text.Trim ลบช่องว่างด้านหน้าหลัง ได้ผลลัพธ์สุดท้าย "Text withSpaces" ส่วนตัวผมมักใช้ชุดนี้ร่วมกันครับ เพราะข้อมูลจริงมักมีทั้ง Control Character และช่องว่าง

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

- Text.Clean ใช้คู่กับ Text.Trim ได้ดี - Clean ก่อนสำหรับ Control Character แล้ว Trim สำหรับ Space

- ในการ Import ข้อมูลจาก CSV หรือ TXT ที่มี Encoding แปลกๆ ลองใช้ Text.Clean กับคอลัมน์สำคัญเพื่อป้องกัน Control Character ที่ซ่อนอยู่

- Text.Clean คืนค่า null ถ้า input เป็น null ไม่ต้องกังวล - ใช้ได้โดยไม่ต้องตรวจสอบ

- ใช้ Text.Clean + Text.Proper หรือ Text.Upper/Lower เพื่อทำความสะอาดและจัดรูปแบบข้อความในขั้นตอนเดียว

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

**Q: Text.Clean กับ Text.Trim ต่างกันยังไง?**

Text.Clean ลบตัวอักษรควบคุม (Control Characters) เช่น Line Feed, Tab ส่วน Text.Trim ลบเฉพาะช่องว่าง (Space) ด้านหน้าและหลังเท่านั้น คนมักสับสนเพราะชื่อดูคล้ายๆ กัน ส่วนตัวผมแนะนำให้ใช้ทั้งคู่ - ลบ Control Character ด้วย Text.Clean แล้วลบ Space ด้วย Text.Trim นะครับ

**Q: Text.Clean ลบ Space ธรรมดาได้ไหม?**

ไม่ได้ครับ Text.Clean เลือกลบได้แค่ Control Character ที่มี Unicode code point น้อยกว่า 32 (ยกเว้น Space ที่เป็น 32) ถ้าต้องการลบ Space ธรรมดา ต้องใช้ Text.Replace หรือ Text.Trim แทน

**Q: ถ้า input เป็น null จะเกิดอะไรขึ้น?**

จะคืนค่า null กลับมา ไม่มี Error ปรากฏนะครับ ซึ่งดีมากตอนทำงานกับข้อมูลที่อาจมี null cells ผมมักใช้ Text.Clean โดยไม่ต้องกังวลว่า null จะทำให้เกิด Error

**Q: Text.Clean ทำงานกับ Unicode ได้ไหม?**

ได้นะครับ Text.Clean ลบ Control Character จาก Unicode ทั้งหมด ไม่เฉพาะ ASCII เท่านั้น แต่เกือบทั้งหมดที่ใช้ข่าว ใช้บ่อยๆ จะเป็น ASCII Control Character อยู่แล้ว

## ฟังก์ชันที่เกี่ยวข้อง

- [Text.Trim – ตัดอักขระนำหน้าและลงท้าย](https://www.thepexcel.com/functions/power-query/text-functions/text-trim/)
- [Text.Replace – แทนที่ข้อความใน Power Query](https://www.thepexcel.com/functions/power-query/text-functions/text-replace/)
- [Text.Proper – แปลงเป็นตัวพิมพ์ใหญ่ต้นคำ](https://www.thepexcel.com/functions/power-query/text-functions/text-proper/)
- [Table.TransformColumns – แปลงคอลัมน์ด้วยฟังก์ชันการแปลง](https://www.thepexcel.com/functions/power-query/table-functions/table-transformcolumns/)

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

- [Microsoft Learn: Text.Clean](https://learn.microsoft.com/en-us/powerquery-m/text-clean) _(official)_
- [PowerQuery.how - Text Functions](https://powerquery.how/text-functions/) _(article)_

---

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