Thep Excel

LEN (DAX) – นับจำนวนอักขระในข้อความ

LEN นับจำนวนอักขระของสตริง รวมช่องว่างด้วย ใช้สำหรับตรวจสอบความยาวข้อมูล การทำความสะอาด และงานเงื่อนไขตามความยาวข้อความ

=LEN(<Text>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
7/10

Difficulty
2/10

Usefulness
7/10

Syntax & Arguments

=LEN(<Text>)

Argument Type Required Default Description
Text string Yes สตริงข้อความที่ต้องการนับจำนวนอักขระ สามารถเป็นค่าคงที่ คอลัมน์ หรือนิพจน์ที่คืนข้อความ

How it works

ตรวจความยาวรหัส/ข้อความ

เช็คว่าโค้ด/รหัสมีความยาวตามที่กำหนดหรือไม่

ตรวจค่าว่างหลังตัดช่องว่าง

ใช้คู่กับ TRIM เพื่อตรวจว่าข้อความว่างจริงหรือไม่

Examples

ตัวอย่างพื้นฐาน: นับอักขระของสตริงคงที่
LEN("DAX")
นับจำนวนอักขระในข้อความ "DAX" ได้ 3 ตัว
DAX Formula:

=LEN("DAX")

Result:

3

ตัวอย่างในคอลัมน์: นับความยาวของชื่อ
ชื่อมีความยาว = LEN(Customers[CustomerName])
ใช้ใน Calculated Column – ทุกแถวจะคำนวณความยาวของชื่อในแถวนั้นเอง (row context)
DAX Formula:

ชื่อมีความยาว =
LEN(Customers[CustomerName])

Result:

5 (ถ้า CustomerName = "Alice"), 7 (ถ้า = "Charlie")

ตัวอย่างตรวจค่าว่าง: ตรวจหลัง TRIM
มีชื่อจริงหรือ = IF( LEN(TRIM(Customers[NameInput])) = 0, "ว่าง", "มีข้อมูล" )
TRIM ตัดช่องว่างส่วนเกิน แล้ว LEN ตรวจว่าเหลืออักขระจริงหรือไม่ – trick สำคัญสำหรับ data quality
DAX Formula:

มีชื่อจริงหรือ =
IF(
    LEN(TRIM(Customers[NameInput])) = 0,
    "ว่าง",
    "มีข้อมูล"
)

Result:

"ว่าง" ถ้า NameInput เป็นช่องว่าง หรือเพียงแค่ spaces, "มีข้อมูล" ถ้ามีตัวอักษรจริง

ตัวอย่างผสม: ตรวจ ID ถูกต้อง
ID ถูกต้องหรือ = IF( LEN(Customers[CustomerID]) >= 5, "OK", "ผิด - สั้นเกินไป" )
ใช้ตรวจสอบว่า ID ยาวพอมาตรฐานหรือไม่ – validation แบบง่ายๆ
DAX Formula:

ID ถูกต้องหรือ =
IF(
    LEN(Customers[CustomerID]) >= 5,
    "OK",
    "ผิด - สั้นเกินไป"
)

Result:

"OK" ถ้า ID มีอักขระ >= 5, "ผิด - สั้นเกินไป" ถ้าน้อยกว่า

ตัวอย่างวัดความยาวรวม: สำหรับ Address fields
ความยาว_ที่อยู่_รวม = LEN(Customers[Address1]) + LEN(Customers[Address2])
รวมความยาวจากหลายคอลัมน์ – วิธีผสมผสาน LEN กับ logic ที่ซับซ้อน
DAX Formula:

ความยาว_ที่อยู่_รวม =
LEN(Customers[Address1]) + 
LEN(Customers[Address2])

Result:

25 (ถ้า Address1="123 Main St" มี 11 ตัว + Address2="Bangkok" มี 7 ตัว = 18)

FAQs

LEN นับช่องว่าง (space) ด้วยไหม?

ใช่ LEN นับ space เป็นอักขระ ถ้า “ABC ” (มี space สุดท้าย) จะได้ 4 ตัว ถ้าต้องการไม่นับ ให้ TRIM ก่อน: LEN(TRIM(“ABC “)) = 3

ถ้าค่าเป็น BLANK จะเกิดอะไร?

BLANK ส่วนใหญ่ LEN จะ handle เป็น 0 แต่ถ้าต้องการปลอดภัย ให้ใช้ IF(ISBLANK(…), 0, LEN(…)) หรือ COALESCE([Column], “”) ก่อน

LEN ใช้ได้กับข้อมูลตัวเลขไหม?

ได้ DAX จะแปลงตัวเลขเป็นข้อความก่อนแล้วนับ เช่น LEN(12345) = 5 แต่วิธีนี้ไม่ recommended – ให้ใช้ explicit คือ LEN(TEXT(12345, “0”)) เด่นชัดกว่า

LEN จะนับอักขระภาษาไทยเหมือนอังกฤษไหม?

ใช่ DAX ใช้ Unicode ดังนั้นไม่ว่าจะไทย, อังกฤษ, แม่นจีน – นับเหมือนกันทั้งหมด ต่างจาก Excel สมัยจอม LENB (สำหรับ double-byte)

Resources & Related

Additional Notes

LEN คืนจำนวนอักขระทั้งหมดในข้อความ (รวมช่องว่าง) เป็นจำนวนเต็ม

ฟังก์ชันนี้เป็นสตริงง่ายๆ ที่ใช้ได้ทั้ง Calculated Column (row context) และ Measure ส่วนตัวผมใช้ LEN บ่อย เวลาต้องตรวจสอบว่า ID มีความยาวถูกต้อง หรือค่าว่างไหม หลังจาก TRIM ข้อมูล

จุดเจ๋งของ LEN คือมัน handle Unicode ได้อัตโนมัติ สตริงไทย สตริงโรมัน นับเหมือนกัน (1 อักขระ = 1) ต่างจาก Excel สมัยโบราณที่มี LEN กับ LENB ต่างกัน

เทคนิคคือต้องอย่าลืม LEN นับช่องว่างด้วย ถ้าข้อมูลมาจาก ETL ที่สกปรก ให้ TRIM ก่อน แล้ว LEN ทีหลัง

Leave a Reply

Your email address will not be published. Required fields are marked *