Thep Excel

Text.Trimตัดอักขระนำหน้าและลงท้าย

Text.Trim ลบอักขระที่ระบุออกจากต้นและท้ายของข้อความ ค่าเริ่มต้นจะลบแค่ช่องว่าง

fx
= Text.Trim(text, [trim]) as nullable text

ความนิยม9/10
ความยาก2/10
ประโยชน์9/10

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
text Text สตริงข้อความที่ต้องการลบอักขระนำหน้าและลงท้าย
[trim]ไม่บังคับ Text or List Whitespace characters อักขระที่ต้องการลบ สามารถเป็นตัวอักษรเดี่ยวหรือรายการอักขระ ค่าเริ่มต้นเป็นช่องว่าง

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

Text.Trim(text, optional trim) ใช้สำหรับล้างข้อมูล (data cleaning) โดยลบอักขระที่ไม่ต้องการจากต้นและท้ายสตริง

จุดเจ๋งของ Text.Trim คือความยืดหยุ่น – คุณสามารถลบแค่ช่องว่าง หรือกำหนดอักขระเฉพาะเจาะจงก็ได้ ทำให้มันเป็นเครื่องมือสำคัญในการจัดการข้อมูลสกปรกจากแหล่งภายนอก

ส่วนตัวผม มักใช้ Text.Trim ตอนนำเข้าข้อมูลจากรูปแบบสมัยโบราณเช่น fixed-width files ที่มี padding อยู่เยอะเลย รวมกับ Table.TransformColumns ทำให้ clean data ขึ้นมาได้เรียบร้อย

How it works

ทำความสะอาดข้อมูลที่นำเข้า

ข้อมูลที่นำเข้าจากระบบอื่นมักมีช่องว่างหน้า-หลังติดมา ทำให้การค้นหาหรือเปรียบเทียบผิดพลาด

ลบสัญลักษณ์นำหน้า/ต่อท้าย

ลบเครื่องหมายดอกจัน (*) หรือขีดกลาง (-) ที่อาจติดมากับรหัสสินค้า

Examples

ลบช่องว่างพื้นฐานText.Trim(" Hello World ")

ลบช่องว่างออกจากต้นและท้ายอัตโนมัติ ข้อความตรงกลางคงเดิม

fx
= Text.Trim(" Hello World ")

ผลลัพธ์"Hello World"
ลบเลขศูนย์นำหน้าText.Trim("0000142.5000", "0")

ลบเลขศูนย์ออกจากต้นและท้าย เหมาะใช้กับข้อมูลรหัสจากเฟรม legacy ที่มี padding

fx
= Text.Trim("0000142.5000", "0")

ผลลัพธ์"142.5"
ลบหลายอักขระพร้อมกันText.Trim("", {""})

ระบุรายการอักขระให้ลบหลาย ๆ ตัวสลับกัน เมื่อข้อมูลมีเครื่องหมายพิเศษอยู่ข้างหน้าและข้างหลัง

fx
= Text.Trim("<<<Product Name>>>", {"<", ">"})

ผลลัพธ์"Product Name"
Transform ทั้งคอลัมน์let Source = Table.FromRows( {{"#John#"}, {"#Jane#"}, {"#Mike#"}}, {"Name"} ), Cleaned = Table.TransformColumns(Source, {"Name", each Text.Trim(_, "#")}) in Cle…

ใช้ each _ เพื่อทำให้อักขระแต่ละตัวในคอลัมน์ text ถูก trim พร้อมกัน

fx
let
Source = Table.FromRows(
{{"#John#"}, {"#Jane#"}, {"#Mike#"}},
{"Name"}
),
Cleaned = Table.TransformColumns(Source, {"Name", each Text.Trim(_, "#")})
in
Cleaned

ผลลัพธ์ตารางที่แสดง Name เป็น "John", "Jane", "Mike" โดยเอาเครื่องหมาย # ออกหมด

FAQs

ถ้าใช้ Text.Trim โดยไม่ใส่ parameter trim จะลบอะไร?+

จะลบอักขระ whitespace ทั้งหมด ได้แก่ ช่องว่าง tab newline carriage return และอักขระว่าง Unicode อื่น ๆ

ถ้าเป็น null ค่ะ?+

ฟังก์ชันจะคืนค่า null ออกมา จึงปลอดภัยต่อ null handling

ลบได้แค่ต้นและท้ายหรือตรงกลางด้วย?+

Text.Trim ลบแค่ต้นและท้ายเท่านั้น ถ้าต้องลบตรงกลาง ให้ใช้ Text.Replace แทน

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ Text.Trim จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้Text.TrimText functions
Text functions (12)
Text.AfterDelimiter

ดึงข้อความหลังจากตัวคั่นที่กำหนด สามารถเลือกว่าจะใช้ตัวคั่นที่ 1, 2, 3 เป็นต้น

Text.Clean

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

Text.Length

Text.Length ใช้นับจำนวนตัวอักษรทั้งหมดในสตริงข้อความ รวมถึงช่องว่างและอักขระพิเศษ ผลลัพธ์คืนค่าเป็นตัวเลข มีประโยชน์ในการตรวจสอบคุณภาพข้อมูล การกรองข้อมูลตามความยาว หรือการคำนวณ Logic ต่างๆ

Text.Lower

Text.Lower ใช้แปลงอักขระทั้งหมดในข้อความให้เป็นตัวพิมพ์เล็ก (lowercase) ช่วยให้ข้อมูลมีรูปแบบสอดคล้องกัน สามารถกำหนด Culture เพื่อให้การแปลงเป็นไปตามกฎของภาษาและภูมิภาคที่ต้องการ

Text.Pad

Text.Pad เพิ่มอักษรเติมให้ข้อความมีความยาวที่ต้องการ สามารถเพิ่มไปทางด้านซ้าย กลาง หรือขวาของข้อความ ฟังก์ชันนี้มีประโยชน์เมื่อต้องการจัดรูปแบบข้อความให้มีความยาวเท่ากัน เช่นรหัสสินค้า หรือรหัสพนักงาน

Text.PadEnd

Text.PadEnd จะเพิ่มอักขระที่ระบุ (เช่น '0' หรือ '-') เข้าไปด้านหลังของข้อความ จนกว่าความยาวของข้อความนั้นจะถึงจำนวนหลักที่ต้องการ ใช้ในการจัดรูปแบบข้อมูลให้สม่ำเสมอ หรือสร้าง Field ที่มี Character ครบตาม Spec

Text.PadStart

Text.PadStart จะเพิ่มอักขระที่ระบุ (เช่น '0' หรือ '-') เข้าไปด้านหน้าของข้อความ จนกว่าความยาวของข้อความนั้นจะถึงจำนวนหลักที่ต้องการ ใช้ในการจัดรูปแบบข้อมูลให้สม่ำเสมอ หรือนำไปใช้กับ Sort ได้อย่างถูกต้อง

Text.Replace

Text.Replace ใช้สำหรับแทนที่ทุกส่วนของข้อความเก่าในข้อความหลักด้วยข้อความใหม่ เป็น Case Sensitive และแทนที่ทีละครั้งที่เจอในข้อความทั้งหมด

Text.Split

Text.Split(text, separator) ใช้แยกข้อความเป็น List โดยอิงตามตัวคั่น (delimiter) ที่ระบุ สามารถใช้ตัวคั่นเพียงตัวเดียวหรือหลายตัวอักษร เช่น "|" หรือ ", the " ผลลัพธ์คืนค่าเป็น List ของข้อความ

Text.TrimEnd

Text.TrimEnd จะลบช่องว่างหรืออักขระส่วนเกินที่อยู่ด้านขวาสุดของข้อความออก สามารถระบุ List ของอักขระที่ต้องการลบได้ เป็นเครื่องมือที่ดีในการทำความสะอาดข้อมูลที่ Copy มาแล้วมี Space หรือสัญลักษณ์ต่อท้ายเกินมา

Text.TrimStart

Text.TrimStart จะลบช่องว่างหรืออักขระส่วนเกินที่อยู่ด้านซ้ายสุดของข้อความออก สามารถระบุ List ของอักขระที่ต้องการลบได้ ทำให้เป็นเครื่องมือที่มีประโยชน์ในการทำความสะอาดข้อมูลที่ Copy มาแล้วมี Space หรือสัญลักษณ์นำหน้าเกินมา

Text.Upper

Text.Upper แปลงอักขระทั้งหมดในข้อความเป็นตัวอักษรใหญ่ โดยรองรับการตั้งค่า culture ต่างๆ เพื่อจัดการการแปลงที่ถูกต้องตามภาษา

Table functions (2)
Table.AddFuzzyClusterColumn

Table.AddFuzzyClusterColumn เพิ่มคอลัมน์ใหม่ที่มีค่าตัวแทนสำหรับแต่ละกลุ่ม โดยจับคู่ข้อมูลที่คล้ายกัน แม้จะมีข้อความที่ต่างกัน เช่น การสะกด ตัวอักษรพิมพ์ใหญ่-เล็ก หรือช่องว่าง

Table.TransformColumns

Table.TransformColumns ใช้สำหรับแปลงข้อมูลในคอลัมน์โดยใช้ฟังก์ชันที่กำหนดไว้ แต่ละคอลัมน์สามารถมีการแปลงแตกต่างกันได้ รองรับการเปลี่ยนแปลงประเภทข้อมูลในเวลาเดียวกัน

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่