Thep Excel

TEXTแปลงค่าตัวเลข/วันที่เป็นข้อความตามรูปแบบที่กำหนด

TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น “dd/mm/yyyy” สำหรับวันที่ หรือ “#,##0.00” สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้

fx
=TEXT(value, format_text)

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

อัปเดต 19 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
value Number/Date ค่าตัวเลข, วันที่, หรือเวลาที่ต้องการจัดรูปแบบ
format_text Text General รหัสรูปแบบที่ใช้จัดแสดงผล (ใส่เครื่องหมายคำพูดเสมอ เช่น “dd/mm/yyyy”)

Additional Notes

TEXT ใช้แปลงตัวเลข วันที่ หรือเวลาให้เป็นข้อความที่มีรูปแบบตามที่คุณกำหนด ไม่ว่าจะเป็นเลขนำศูนย์ สกุลเงิน หรือรูปแบบวันที่แบบไหนก็ได้
.
ที่เจ๋งคือมันใช้รหัสรูปแบบเดียวกับ Format Cells ของ Excel เลย ทำให้จัดรูปแบบได้ยืดหยุ่นมากครับ
.
ส่วนตัวผมใช้บ่อยมากเวลาสร้างรหัสอัตโนมัติ หรือรวมข้อความกับตัวเลขในรายงาน 😎

How it works

สร้างรายงานแบบกำหนดเอง

รวมข้อมูลตัวเลขและวันที่เข้ากับข้อความ เพื่อสร้างประโยคสรุปในรายงานที่อ่านเข้าใจง่าย เช่น "ยอดขายวันที่ 15 ธ.ค. 2025 รวม 1,500,000 บาท"

แปลงรหัสตัวเลขเป็น Text ที่มีรูปแบบ

สร้างรหัสลูกค้าหรือรหัสเอกสารที่มีรูปแบบเฉพาะ เช่น 'CUST-0001' หรือ 'INV-2025-001' เพื่อความเป็นระเบียบ

Examples

ตัวอย่างที่ 1: จัดรูปแบบวันที่แบบยาวTEXT(TODAY(), "dd mmmm yyyy")

แปลงวันที่ปัจจุบันให้เป็นข้อความแบบ วัน เดือน (ชื่อเต็ม) และปี

ส่วนตัวผมใช้รูปแบบนี้ในรายงานและอีเมลบ่อยมาก เพราะอ่านเข้าใจง่ายกว่าตัวเลขครับ 😎

fx
=TEXT(TODAY(), "dd mmmm yyyy")

ผลลัพธ์12 ธันวาคม 2025
ตัวอย่างที่ 2: จัดรูปแบบตัวเลขเป็นสกุลเงินไทยTEXT(Revenue, "฿#,##0.00")

สมมติ Revenue มีค่า 250500.5 สูตรจะแปลงเป็นข้อความ '฿250,500.50' ที่มีสัญลักษณ์บาท จุลภาค และทศนิยม 2 ตำแหน่ง

ที่เจ๋งคือ '#,##0.00' หมายถึง: '#' แสดงตัวเลขถ้ามี, ',' เพิ่มจุลภาค, '00' แสดง 2 ทศนิยมเสมอ 💡

fx
=TEXT(Revenue, "฿#,##0.00")

ผลลัพธ์฿250,500.50
ตัวอย่างที่ 3: สร้างรหัสสินค้าพร้อมเลขนำศูนย์TEXT(ProductID, "00000")

สมมติ ProductID = 123 สูตรจะแปลงเป็น '00123' โดยเติมศูนย์นำหน้า

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

fx
=TEXT(ProductID, "00000")

ผลลัพธ์00123
ตัวอย่างที่ 4: จัดรูปแบบเวลาแสดงชั่วโมง นาที วินาทีTEXT(NOW(), "hh:mm:ss")

แสดงเวลาปัจจุบันในรูปแบบ 24 ชั่วโมง 'hh' = ชั่วโมง 2 หลัก (00-23), 'mm' = นาที 2 หลัก, 'ss' = วินาที 2 หลัก

fx
=TEXT(NOW(), "hh:mm:ss")

ผลลัพธ์14:35:42
ตัวอย่างที่ 5: สร้างเลขบัญชีพร้อมสัญลักษณ์"ACC-" & TEXT(AccountNumber, "00000")

สมมติ AccountNumber = 456 ผลลัพธ์คือ 'ACC-00456' โดยใช้ & เชื่อมข้อความกับตัวเลข

เอาจริงๆ นะครับ วิธีนี้ดีกว่าใช้ CONCATENATE ที่ถูกยกเลิกแล้วใน Excel รุ่นใหม่ 💡

fx
="ACC-" & TEXT(AccountNumber, "00000")

ผลลัพธ์ACC-00456
ตัวอย่างที่ 6: แสดงเปอร์เซ็นต์แบบกำหนดเองTEXT(0.85, "0.00%")

แปลง 0.85 เป็นข้อความ '85.00%' รหัส '0.00%' จะคูณด้วย 100 และเพิ่มสัญลักษณ์เปอร์เซ็นต์ พร้อมแสดง 2 ตำแหน่งทศนิยม

ส่วนตัวผมใช้ตอนสร้างรายงานที่ต้องแสดงเปอร์เซ็นต์เป็นข้อความครับ ✨

fx
=TEXT(0.85, "0.00%")

ผลลัพธ์85.00%

FAQs

ผลลัพธ์จาก TEXT เป็นตัวเลขหรือข้อความ?+

เป็นข้อความ (Text) เสมอครับ แม้ว่าค่า Value ต้นฉบับจะเป็นตัวเลขก็ตาม

ทำให้ไม่สามารถนำไปคำนวณต่อโดยตรงได้ ควรใช้ TEXT เมื่อต้องการแสดงผลหรือรวมข้อมูลในรายงาน 💡

จะหา Format Code ที่ต้องการได้จากไหน?+

สามารถดูได้จาก Custom Format ในหน้าต่าง Format Cells (กด Ctrl+1)

ในแท็บ Number ช่อง 'Type' จะแสดงรหัสรูปแบบปัจจุบัน คัดลอกไปใส่ใน TEXT ได้เลยครับ 😎

รหัส Format Code 0 กับ # ต่างกันอย่างไร?+

0 (ศูนย์) = แสดงตำแหน่งนั้นเสมอ ถ้าไม่มีตัวเลข จะเติมศูนย์ เช่น 0000 กับ 123 = 0123

# (แฮช) = แสดงตำแหน่งเฉพาะเมื่อมีตัวเลข ถ้าไม่มี จะไม่แสดง เช่น #### กับ 123 = 123

ส่วนตัวผม ใช้ # กับจำนวนหลักแปรผัน ใช้ 0 กับจำนวนหลักคงที่ครับ

วิธีแสดงตัวเลขติดลบในรูปแบบพิเศษได้อย่างไร?+

ใช้เครื่องหมาย – (ลบ) ในรหัสรูปแบบ เช่น 0.00;-0.00 หมายถึง ตัวเลขบวกแสดง 0.00 แต่ตัวเลขลบแสดง -0.00

หรือใช้ 0.00;(0.00) จะแสดงตัวเลขลบในวงเล็บ เช่น (100.50) ที่เจ๋งคือเหมาะกับสกุลเงินมากครับ 💡

จะแสดงตัวเลขเป็น shorthand เช่น 1K, 1M ได้อย่างไร?+

ใช้ Format Code แบบ 0,,," K" สำหรับพันส์ หรือ 0.0,," M" สำหรับล้าน เช่น =TEXT(1500000, 0.0,," M") จะแสดง 1.5 M

ส่วนตัวผมชอบวิธีนี้ เพราะง่ายและเร็วกว่าใช้ CONCATENATE กับ ROUND ครับ 😎

ทำอย่างไรให้เวลา AM/PM (12 ชั่วโมง) แทน 24 ชั่วโมง?+

ใช้รหัส h:mm AM/PM หรือ hh:mm AM/PM เช่น =TEXT(NOW(), "h:mm AM/PM") จะแสดง 2:35 PM แทน 14:35

ถ้า Excel ไม่รู้จัก AM/PM ให้ลองใช้ "am/pm" พิมพ์เล็กแทนนะครับ

อยากแสดงทศนิยม 2 ตำแหน่ง แต่ถ้าเป็น 0 อยากให้เป็น 0 ตำแหน่งได้อย่างไร?+

ใช้รหัส 0.## (ศูนย์จุด แฮช 2 ตัว) เช่น =TEXT(100.2, "0.##") = 100.2 | =TEXT(100.25, "0.##") = 100.25 | =TEXT(100, "0.##") = 100

ที่เจ๋งคือ 0 = แสดงเสมอ, # = แสดงเฉพาะเมื่อมีค่า 💡

Text Color Format Code ใช้ได้กับ TEXT function ไหม?+

ไม่ใช้ได้ครับ TEXT function จะแปลงเป็นข้อความจริงๆ เท่านั้น Color Format Code เช่น [Red], [Blue] ใช้ได้ใน Cell Formatting เท่านั้น

ถ้าต้องการเพิ่มสีในรายงาน ต้องใช้ Conditional Formatting แทนนะครับ 😅

Resources & Related

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

ฟังก์ชันนี้TEXTText
Text (19)
ARRAYTOTEXT

ฟังก์ชันที่แปลงอาร์เรย์หรือช่วงเซลล์ให้เป็นข้อความเดียว โดยสามารถเลือกรูปแบบการแสดงผล (อ่านง่ายหรือ Strict Format)

BAHTTEXT

แปลงตัวเลขเป็นคำอ่านภาษาไทย (บาท และสตางค์) ใช้สำหรับเอกสารทางการเงินที่ต้องระบุจำนวนเงินเป็นตัวอักษร

CLEAN

ลบตัวอักษรที่ไม่สามารถพิมพ์ได้ (ASCII 0-31) ออกจากข้อความ มีประโยชน์เมื่อคัดลอกข้อมูลจากระบบอื่นที่มีอักขระซ่อนอยู่

CONCATENATE

CONCATENATE เป็นฟังก์ชันแบบเก่าที่ใช้นำข้อความ ตัวเลข หรือค่าจากเซลล์ต่างๆ มาต่อกันให้เป็นข้อความยาวๆ เพียงเส้นเดียว ปัจจุบันสามารถใช้เครื่องหมาย & หรือฟังก์ชัน CONCAT/TEXTJOIN ซึ่งสะดวกกว่าได้

DOLLAR

DOLLAR แปลงตัวเลขให้เป็นข้อความในรูปแบบสกุลเงิน ($) พร้อมลูกน้ำและทศนิยมตามที่ระบุ

FIXED

FIXED ปัดเลขและจัดรูปแบบเป็นข้อความพร้อมทศนิยมที่กำหนด (และคอมม่า)

LEFT

LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา

LOWER

LOWER แปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็ก (lowercase) เหมาะสำหรับทำความสะอาดข้อมูลและเปรียบเทียบข้อความโดยไม่สนตัวพิมพ์ เพราะในบางโปรแกรม Case-sensitive จึงต้องแปลงให้เป็นมาตรฐานเดียวกัน

MID

MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ

NUMBERVALUE

แปลงข้อความให้เป็นตัวเลข โดยกำหนดตัวคั่นทศนิยมและหลักพันได้เอง (ไม่ขึ้นกับ Locale ของระบบ)

PHONETIC

PHONETIC ดึงข้อความ Furigana (คำอ่านกำกับตัวอักษรคันจิภาษาญี่ปุ่น) ที่ฝังอยู่ในเซลล์ออกมาเป็นข้อความแยกต่างหาก ใช้ได้เฉพาะระบบที่ตั้งค่าภูมิภาคเป็นภาษาตะวันออกไกล

PROPER

PROPER แปลงตัวอักษรแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ (Title Case) และแปลงตัวอักษรที่เหลือเป็นตัวพิมพ์เล็ก เหมาะสำหรับจัดรูปแบบชื่อคน ชื่อสถานที่ ใช้ร่วมกับ UPPER LOWER TRIM เพื่อทำความสะอาดข้อมูล

REPLACE

REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน

REPT

REPT ทำซ้ำข้อความตามจำนวนครั้งที่ระบุ เหมาะสำหรับสร้าง In-cell Bar Chart แสดง Rating ด้วยดาว เติม Padding ให้ข้อความ หรือสร้างเส้นแบ่ง ถ้า number_times เป็นทศนิยมจะถูกตัดเหลือจำนวนเต็ม

RIGHT

RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ

SUBSTITUTE

SUBSTITUTE ค้นหาคำเก่า (old_text) ในข้อความแล้วแทนที่ด้วยคำใหม่ (new_text) โดยแยกแยะตัวพิมพ์เล็ก-ใหญ่ (case-sensitive) และเลือกได้ว่าจะแทนที่ทุกจุดที่เจอ หรือเฉพาะลำดับที่ระบุผ่าน instance_num งานที่ใช้บ่อยคือลบตัวคั่นออกจากตัวเลขที่ถูกเก็บเป็นข้อความ เปลี่ยนโดเมนอีเมลหลังรีแบรนด์ หรือล้างอักขระที่พิมพ์มาผิดรูปแบบก่อนนำไปคำนวณต่อ

T

T ฟังก์ชันที่ตรวจสอบว่าค่าเป็นข้อความหรือไม่ ถ้าใช่ส่งกลับข้อความเดิม ถ้าไม่ใช่ส่งกลับค่าว่าง ใช้ปลอดภัยกว่าการต่อข้อความตรงๆ เมื่อไม่แน่ใจว่าเซลล์ต้นทางเก็บอะไรอยู่

TEXTJOIN

TEXTJOIN รวมข้อความจากหลายเซลล์หรือทั้งช่วงเป็นข้อความเดียว โดยกำหนดตัวคั่นเองได้และสั่งข้ามเซลล์ว่างได้ในคำสั่งเดียว ต่างจาก CONCATENATE ที่ต้องพิมพ์ตัวคั่นและเชื่อมทีละเซลล์เอง งานที่ใช้บ่อยคือรวมที่อยู่หลายบรรทัด สร้างลิสต์คั่นด้วยคอมม่าไว้ส่งออก หรือรวมผลลัพธ์จาก FILTER ให้ออกมาเป็นข้อความเดียว

TEXTSPLIT

TEXTSPLIT เป็นฟังก์ชัน Dynamic Array ที่ช่วยแยกข้อความในเซลล์ออกเป็นอาร์เรย์ของค่า (Spill) ตามตัวคั่นที่ระบุ สามารถแยกข้อมูลออกไปทางขวา (คอลัมน์) หรือลงด้านล่าง (แถว) หรือทั้งสองอย่างพร้อมกัน เหมาะสำหรับการจัดการข้อมูลนำเข้าที่รวมกันอยู่ในเซลล์เดียว

Financial (2)
DOLLARDE

แปลงราคาดอลลาร์ที่เป็นเศษส่วนให้เป็นทศนิยม โดยใช้ตัวหารที่กำหนด

DOLLARFR

DOLLARFR แปลงราคาแบบทศนิยมเป็นรูปแบบเศษส่วน ใช้หลักในตลาดหลักทรัพย์และพันธบัตร

Information (1)
ISNONTEXT

ตรวจสอบว่าค่าในเซลล์ไม่ใช่ข้อความ (ตัวเลข วันที่ ค่าว่าง หรือสูตร) แล้วคืนค่า TRUE ใช้กรองข้อมูลก่อนคำนวณ หรือเช็คว่าผู้ใช้กรอกตัวเลขผิดเป็นข้อความหรือไม่

Math and trigonometry (1)
ROMAN

ROMAN ใช้แปลงตัวเลข (1–3999) ให้เป็นเลขโรมันในรูปข้อความ เช่น 10 → "X" และ 2024 → "MMXXIV" โดยสามารถกำหนดรูปแบบ (form) เพื่อให้เป็นแบบคลาสสิกหรือแบบย่อได้

Date and Time (1)
TIME

TIME สร้างค่าเวลา (Time Serial) จากส่วนประกอบ ชั่วโมง นาที และวินาที แตกต่างจาก TIMEVALUE ที่อ่านเวลาจากข้อความ TIME ใช้ตัวเลขแยกจากกัน มีประโยชน์สำหรับการสร้างเวลาแบบไดนามิก

ดูฟังก์ชันที่เกี่ยวข้องทั้งหมด (28) →
Text (3)
UPPER

UPPER เปลี่ยนข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด (เช่น "excel" -> "EXCEL") มักใช้ในการจัดรูปแบบข้อมูลให้เป็นมาตรฐานเดียวกันก่อนนำไปเปรียบเทียบหรือค้นหา (Lookup)

VALUE

VALUE แปลงข้อความที่มีลักษณะเป็นตัวเลขให้เป็นตัวเลขจริงที่คำนวณได้ รองรับรูปแบบตัวเลข วันที่ เวลา เปอร์เซ็นต์ และสกุลเงิน

VALUETOTEXT

แปลงค่าใดๆ (ตัวเลข, วันที่, อาร์เรย์, หรือแม้กระทั่ง Error) ให้เป็นข้อความเพื่อใช้งานได้จริง

Date and Time (1)
TODAY

TODAY คืนค่า Serial Number ของวันที่ปัจจุบันตามเวลาของเครื่องคอมพิวเตอร์ โดยเวลาจะเป็น 0:00:00 เสมอ
.
ที่เจ๋งคือฟังก์ชันนี้เป็นประเภท Volatile ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ ในชีท ที่ต้องระวังคือไม่เหมาะกับการบันทึกวันที่ทำรายการ (Transaction Date) ที่ต้องการให้คงที่ครับ เพราะมันจะเปลี่ยนทุกครั้งที่เปิดไฟล์

Comments

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