Thep Excel

Text.Properแปลงเป็นตัวพิมพ์ใหญ่ต้นคำ

แปลงอักษรตัวแรกของทุกคำเป็นตัวพิมพ์ใหญ่ (Title Case) และส่วนที่เหลือเป็นตัวพิมพ์เล็ก

fx
=Text.Proper(text, [culture]) as nullable text

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
text text ข้อความต้นฉบับ (nullable text) ที่ต้องการแปลงเป็น Title Case
[culture]ไม่บังคับ text null รหัสภาษา (culture code) เช่น “en-US” หรือ “th-TH” สำหรับใช้กฎการแปลงอักษรตามภาษาที่ระบุ ถ้าไม่ระบุจะใช้ culture เริ่มต้นของระบบ

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

Additional Notes

ฟังก์ชัน Text.Proper(text, optional culture) ใช้สำหรับแปลงข้อความให้เป็นรูปแบบ Title Case โดยตัวแรกของแต่ละคำจะเป็นตัวพิมพ์ใหญ่และตัวอักษรที่เหลือจะเป็นตัวพิมพ์เล็ก ส่งกลับค่า Text

ที่เจ๋งคือ Text.Proper ทำให้เรา normalize ชื่อหรือข้อมูล text ที่ยุ่งๆ มาในรูปแบบสม่ำเสมอ เหมาะสำหรับ data cleaning โดยเฉพาะตอนจัดการชื่อคน ชื่อสถาน หรือหัวข้อที่ผู้ใช้พิมพ์มาแบบไม่เป็นระเบียบ

ส่วนตัวผม มักใช้ Text.Proper กับ Table.TransformColumns เพื่อ standardize ชื่อในหลายคอลัมน์พร้อมกัน ตัวอักษรจะแน่นอนและสะอาดขึ้นเยอะเลย

Examples

แปลงชื่อบุคคลพื้นฐานText.Proper("john doe")

ข้อความ "john doe" ทั้งตัวพิมพ์เล็กจะถูกแปลงเป็น "John Doe" โดยตัวแรกของแต่ละคำกลายเป็นตัวพิมพ์ใหญ่

fx
= Text.Proper("john doe")

ผลลัพธ์"John Doe"
แปลงข้อความที่มีตัวพิมพ์ใหญ่ปนกันText.Proper("tHE QUICK BrOWn fOx")

ไม่ว่าอินพุตจะมีตัวพิมพ์ใหญ่/เล็กปนกันแบบไหน ผลลัพธ์จะเป็น Title Case ที่สอดคล้องกันเสมอ

fx
= Text.Proper("tHE QUICK BrOWn fOx")

ผลลัพธ์"The Quick Brown Fox"
จัดรูปแบบชื่อสินค้าText.Proper("laptop computer 15 inch hd display")

ใช้สำหรับจัดรูปแบบชื่อสินค้า โดยตัวแรกของแต่ละคำจะเป็นตัวพิมพ์ใหญ่ (ทั้ง "Hd" แม้จะเป็นตัวย่อ)

fx
= Text.Proper("laptop computer 15 inch hd display")

ผลลัพธ์"Laptop Computer 15 Inch Hd Display"
ใช้ใน Table TransformationTable.TransformColumns( Source, {{"CustomerName", each Text.Proper(_), type text}} )

ในสถานการณ์จริง เรามักใช้ Text.Proper กับ Table.TransformColumns เพื่อแปลงข้อมูลหลายแถวพร้อมกัน ตัวอักษร underscore (_) แทนแต่ละค่าในคอลัมน์

fx
= Table.TransformColumns(
Source,
{{"CustomerName", each Text.Proper(_), type text}}
)

ผลลัพธ์ทุกชื่อใน CustomerName column จะถูกแปลงเป็น Title Case (เช่น "john smith" -> "John Smith")

FAQs

Text.Proper กับตัวเลขใน text จะทำอะไร?+

ตัวเลขจะไม่เปลี่ยนแปลง Text.Proper จะเปลี่ยนแค่ตัวอักษรเท่านั้น เช่น "product 2024" จะกลายเป็น "Product 2024"

ถ้า input เป็น null จะเกิดอะไร?+

ถ้า input text เป็น null ผลลัพธ์ก็จะเป็น null ด้วย ไม่มี error

Text.Proper กับเครื่องหมายวรรค (punctuation) จะทำอะไร?+

Text.Proper ถือว่าเครื่องหมายวรรค (comma, period, apostrophe) และช่องว่างเป็นตัวแยกคำ เช่น "it's here" จะกลายเป็น "It'S Here" ลักษณะนี้ต้องระวัง

culture parameter มีประโยชน์ยังไง?+

culture parameter ใช้สำหรับระบุกฎการแปลงอักษรตามภาษา เช่น "en-US" สำหรับอังกฤษ "th-TH" สำหรับไทย โดยแต่ละภาษามี rule ของตัวเองในการแปลงอักษร

Resources & Related

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

ฟังก์ชันนี้Text.ProperText functions
Text functions (3)
Text.Clean

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

Text.Lower

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

Text.Upper

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

Table functions (1)
Table.AddFuzzyClusterColumn

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

Comments

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