Thep Excel

Text.Lengthนับจำนวนตัวอักษรในข้อความ

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

fx
=Text.Length(text) as nullable number

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
text text ข้อความที่ต้องการนับจำนวนตัวอักษร อาจเป็น null ได้ ถ้าเป็น null จะคืนค่า null

Additional Notes

Text.Length ใน Power Query ใช้สำหรับนับจำนวนตัวอักษรทั้งหมดที่มีอยู่ในข้อความ รวมถึงช่องว่างและสัญลักษณ์พิเศษด้วย ส่วนตัวผมชอบใช้ฟังก์ชันนี้คู่กับ Table.SelectRows เพื่อกรองข้อมูลที่มีความยาวไม่ตรงตามเกณฑ์ เช่นกรองรหัสผ่านที่สั้นเกินไป หรือตรวจสอบว่าข้อมูล ID มีรูปแบบที่ถูกต้องหรือไม่

ที่เจ๋งคือ Text.Length นับ null เป็นอักษร 0 ไม่ใช่ null ดังนั้นตรวจสอบ null ก่อนการนับสำคัญมากเลย ถ้าไม่เช็ก null อาจทำให้ query ของเราขัดข้องได้

ส่วนตัวผม มักใช้ Text.Length ไปกับ Text.Trim เพื่อให้ได้ความยาวที่แท้จริง เพราะบางครั้งข้อมูลจากแหล่งอื่นมีช่องว่างหน้า-หลังติดมา ซึ่งทำให้การนับไม่แม่นยำ 😎

How it works

ตรวจสอบความยาวรหัส

เช็คว่ารหัสสินค้า หรือรหัสบัตรประชาชนมีจำนวนตัวอักษรตรงตามที่กำหนดหรือไม่

ทำความสะอาดข้อมูล

ใช้ร่วมกับ Text.Trim เพื่อหาความยาวที่แท้จริงของเนื้อหา (ไม่รวมช่องว่างหน้าหลัง)

วิเคราะห์ข้อความ

นับจำนวนตัวอักษรของข้อความในรีวิว เพื่อดูว่ารีวิวสั้นหรือยาว

Examples

ตัวอย่างพื้นฐาน: นับตัวอักษรธรรมชาติText.Length("apple")

คำว่า "apple" มี 5 ตัวอักษร

fx
= Text.Length("apple")

ผลลัพธ์5
นับรวมช่องว่างText.Length("hello world")

"hello world" มี 11 ตัวอักษร (h-e-l-l-o-space-w-o-r-l-d)

fx
= Text.Length("hello world")

ผลลัพธ์11
ใช้กับคอลัมน์ในตารางlet Source = Table.FromRows({"apple", "banana", "kiwi"}), AddLength = Table.AddColumn(Source, "Length", each Text.Length([Value])) in AddLength

สร้างคอลัมน์ใหม่ที่แสดงความยาวข้อความสำหรับแต่ละแถว

fx
let
Source = Table.FromRows({"apple", "banana", "kiwi"}),
AddLength = Table.AddColumn(Source, "Length", each Text.Length([Value]))
in
AddLength

ผลลัพธ์3 แถว พร้อมคอลัมน์ Length แสดง 5, 6, 4
กรองข้อมูลตามความยาวlet Customers = Table.FromRows({"John", "AB", "Christopher"}), LongNames = Table.SelectRows(Customers, each Text.Length([Name]) > 5) in LongNames

กรองเหลือแค่ชื่อที่มีความยาวมากกว่า 5 ตัวอักษร

fx
let
Customers = Table.FromRows({"John", "AB", "Christopher"}),
LongNames = Table.SelectRows(Customers, each Text.Length([Name]) > 5)
in
LongNames

ผลลัพธ์2 แถว: "John" (4, ไม่รวม), "Christopher" (11, รวม)
ตรวจสอบการจัดรูปแบบ (เช่น รหัสผ่าน)let Password = "MyPass123", IsValid = Text.Length(Password) >= 8 in IsValid

ตรวจสอบว่ารหัสผ่านมีความยาวตั้งแต่ 8 ตัวอักษรขึ้นไป

fx
let
Password = "MyPass123",
IsValid = Text.Length(Password) >= 8
in
IsValid

ผลลัพธ์true
ใช้กับ Text.Trim เพื่อเอาช่องว่างออกText.Length(Text.Trim(" hello "))

ถ้าไม่ trim ก็จะนับ 13 (รวมช่องว่าง 4 ตัว) แต่ trim ก่อนจะเหลือแค่ 5

fx
= Text.Length(Text.Trim(" hello "))

ผลลัพธ์5

FAQs

Text.Length กับ Excel LEN() ต่างกันอย่างไร?+

ไม่ต่างครับ ทั้งสองทำหน้าที่เดียวกัน – นับตัวอักษร แต่ Text.Length ใช้ใน Power Query (M language) ส่วน LEN() ใช้ใน Excel Worksheet Function

ถ้าข้อความเป็น null จะเกิดอะไร?+

จะคืนค่า null ตัวเอง ถ้าต้องการให้คืนค่า 0 แทน ให้ใช้ Text.Length(…) ?? 0

นับอักขระพิเศษและ Unicode ด้วยไหม?+

นับครับ Text.Length นับทุกอักขระ ไม่ว่าจะเป็น ASCII, Unicode, emoji, สัญลักษณ์พิเศษ ก็นับหมด

การนับตัวอักษรไทยแตกต่างจาก English ไหม?+

ไม่ Text.Length นับตัวอักษรไทยเหมือนตัวอักษรอื่นๆ นับตัวอักษร 1 ตัวต่อ 1 ตัวอักษร

ใช้กับ List.Transform ได้ไหม?+

ได้ครับ ใช้ List.Transform({"apple", "banana"}, each Text.Length(_)) ได้ผลลัพธ์เป็น {5, 6}

Resources & Related

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

ฟังก์ชันนี้Text.LengthText functions
Text functions (7)
Text.End

Text.End ใช้สำหรับดึงอักขระจำนวนที่ระบุจากท้ายสตริงข้อความ เป็นประโยชน์สำหรับการดึงนามสกุลไฟล์ และส่วนท้ายของข้อมูล

Text.Middle

Text.Middle ใช้สำหรับดึงข้อความตั้งแต่ตำแหน่งที่ระบุไปจำนวนอักขระที่กำหนด หากไม่ระบุจำนวนตัวอักษร จะดึงจากตำแหน่งเริ่มต้นไปถึงท้าย

Text.Pad

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

Text.Range

Text.Range ใช้สำหรับดึงข้อความตั้งแต่ตำแหน่งที่ระบุไปยังท้ายสตริง หรือจำนวนอักขระที่กำหนด ถ้าจำนวนอักขระไม่พอ ฟังก์ชันจะคืนค่าเท่าที่หาได้

Text.Reverse

กลับด้านข้อความ (Reverse String)

Text.Start

Text.Start ดึงอักขระจำนวนที่กำหนดจากตัวแรกของสตริงข้อความ ใช้สำหรับดึงชื่อย่อ รหัส หรือส่วนแรกของข้อมูล

Text.Trim

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

Table functions (1)
Table.SelectRows

Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่

Comments

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