Thep Excel

VALUE – แปลงข้อความตัวเลขให้เป็นตัวเลข

VALUE แปลงข้อความที่แทนตัวเลขให้เป็นตัวเลข (decimal) เหมาะสำหรับข้อมูลนำเข้าที่ตัวเลขถูกเก็บเป็นข้อความหรือข้อมูลที่ไม่ทำความสะอาดอย่างถูกต้อง

=VALUE(<text>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
6/10

Syntax & Arguments

=VALUE(<text>)

Argument Type Required Default Description
text Text Yes ข้อความที่ต้องการแปลงเป็นตัวเลข ยอมรับรูปแบบ: จำนวนเต็ม (“123”), ทศนิยม (“12.5”), สัญลักษณ์วิทยาศาสตร์ (“1e3”), วันที่ (“2020-10-23”), เวลา (“14:30:45”)

How it works

แปลงคอลัมน์ตัวเลขที่ถูกเก็บเป็นข้อความ

เช่น ตัวเลขจากการนำเข้าที่ถูกตีความเป็นข้อความ

แปลงก่อนทำการสรุปหรือคำนวณ

ทำให้สามารถ SUM/AVERAGE/คำนวณทางคณิตศาสตร์ได้

Examples

แปลงข้อความตัวเลขธรรมดา
VALUE("123")
VALUE แปลงสตริง "123" ให้เป็นค่าตัวเลข 123 ที่สามารถนำไปคำนวณได้
DAX Formula:

= VALUE("123")

Result:

123 (เป็นตัวเลข decimal)

แปลงคอลัมน์ข้อความเป็นตัวเลข
Amount (Numeric) = VALUE(Transactions[AmountText])
เมื่อนำเข้าข้อมูลจากระบบอื่น Amount อาจเก็บเป็นข้อความ VALUE ช่วยแปลงให้เป็นตัวเลขได้ใช้งาน
DAX Formula:

=Amount (Numeric) =
VALUE(Transactions[AmountText])

Result:

คอลัมน์ของค่าตัวเลข decimal พร้อมใช้สำหรับการบวก ลบ คูณ หาร

แปลงข้อความทศนิยมและใช้ TRIM สำหรับความเสถียร
Total Amount = VAR CleanedAmount = TRIM(Sales[PriceText]) RETURN VALUE(CleanedAmount)
หากข้อความมีช่องว่างหัวท้าย (เช่น " 45.99 ") ให้ใช้ TRIM เพื่อตัดช่องว่างออกก่อน แล้วค่อย VALUE เพื่อให้แนวทางปฏิบัติที่ดีและลดความผิดพลาด
DAX Formula:

Total Amount =
VAR CleanedAmount = TRIM(Sales[PriceText])
RETURN
VALUE(CleanedAmount)

Result:

ค่าตัวเลขที่ถูกสะอาด แม้ว่าข้อมูลต้นฉบับมีช่องว่างหัวท้าย

จัดการข้อมูลที่อาจไม่ใช่ตัวเลข
Safe Conversion = IF( CATCH(VALUE(Data[Text])) BLANK(), VALUE(Data[Text]), 0 )
ใช้ CATCH เพื่อจัดการข้อมูลที่อาจไม่สามารถแปลงได้ ซึ่งจะช่วยให้หลีกเลี่ยง error และแสดงค่าเริ่มต้นแทน
DAX Formula:

Safe Conversion =
IF(
CATCH(VALUE(Data[Text])) <> BLANK(),
VALUE(Data[Text]),
0
)

Result:

ค่าตัวเลขหากเป็นตัวเลขจริง หรือ 0 หากแปลงไม่ได้

FAQs

ทำไม DAX ไม่แปลงข้อความเป็นตัวเลขโดยอัตโนมัติเสมอ?

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

VALUE ต่างจาก FORMAT อย่างไร?

VALUE แปลงข้อความ → ตัวเลข (ทำให้สามารถคำนวณได้) ส่วน FORMAT แปลงตัวเลข → ข้อความ (ทำให้สวยงามสำหรับแสดงผล เช่น มีสัญลักษณ์สกุลเงิน)

ถ้าข้อความไม่ใช่ตัวเลขจริงจะเป็นอย่างไร?

VALUE จะให้ error หากแปลงไม่ได้ ควรใช้ CATCH หรือ IFERROR เพื่อจัดการข้อมูลเสียหายหรือข้อมูลที่ไม่คาดคิด

Resources & Related

Additional Notes

VALUE ใช้แปลงข้อความที่เป็นตัวเลขให้กลายเป็นค่าตัวเลขจริง (decimal data type) โดยยอมรับรูปแบบต่างๆ เช่น จำนวนเต็ม ทศนิยม สัญลักษณ์วิทยาศาสตร์ วันที่ และเวลา

ที่เจ๋งคือ DAX โดยทั่วไปแล้วจะแปลงข้อความเป็นตัวเลขโดยอัตโนมัติ ดังนั้น VALUE จึงใช้ไม่บ่อยนักในงานประจำวัน แต่มันจะมีประโยชน์มากเมื่อคุณต้องการให้ชัดเจนว่ากำลังแปลงอะไร หรือเมื่อข้อมูลมีรูปแบบที่ DAX อาจไม่รู้จัก

ส่วนตัวผมแนะนำให้ใช้ VALUE เมื่อทำการแปลงคอลัมน์ข้อความที่อาจมีค่าไม่ใช่ตัวเลขซ่อนอยู่ เพื่อให้เห็นปัญหา error มากกว่าการพึ่งพาการแปลงโดยนัยที่อาจซ่อนข้อมูลเสียหาย 😎

Leave a Reply

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