สูตรเลขไทย หรือ การเปลี่ยน เลขอารบิกเป็นไทย หรือในทางกลับกัน จะเปลี่ยนเลขไทยเป็นอารบิก ใน Microsoft Excel นี่ทำได้หลายวิธี มีทั้งแบบง่าย ๆ คือแค่เปลี่ยน format ให้แสดงก็ได้แล้ว กับแบบซับซ้อนหน่อย คือต้องเขียน VBA ช่วย แต่ก็ไม่ได้เป็นเรื่องยากเกินไป
สำหรับ การเปลี่ยนเลขอารบิกเป็นไทยใน Word อ่านที่นี่
สำหรับซอฟต์แวร์ที่นิยมใช้ในสำนักงานที่ชื่อ Microsoft Excel นี่ เอาไปใช้งานได้หลากหลายมาก บางคนก็ใช้เป็นตารางช่วยคำนวณ ตามหน้าที่ดั้งเดิมของ Excel บางคน ก็เอามาจัดการข้อมูลแทน Microsoft Access และ มีหลายคนที่…เอามาใช้จัดทำรายงาน…แทน Microsoft Word ซะงั้น
เคยพูดคุยกับบางคนที่ใช้ Excel ในการจัดทำรายงาน เขาบอกว่า Excel จัดรูปแบบเป็นแถวแนว มีระเบียบสวยงาม ง่ายกว่าการใช้ Word เยอะ โอเค อันนี้ไม่ว่ากัน แล้วแต่ว่าถนัดใครถนัดมัน แต่ ก็มีปัญหาให้ช่วยแก้ไขคือ ทำอย่างไรจะเปลี่ยนตัวเลขอารบิกให้เป็นเลขไทย เพราะทำงานเกี่ยวกับราชการ มีข้อกำหนดว่าเอกสารทางการต้องใช้เลขไทยจ้า
ก่อนจะไปถึงเรื่องวิธีเปลี่ยนเลขอารบิกเป็นเลขไทย มาดูก่อนว่า ปัญหาที่พบและต้องแก้ มีอะไรบ้าง ต้องดูว่า Cell ที่จะแก้ไขนั้น เก็บเฉพาะค่าตัวเลข (Number) อย่างเดียวหรือเปล่า หรือว่าเป็นข้อความ (Text) ผสม
สูตรเลขไทย กรณีที่ Cell เป็น ตัวเลขทั้งหมด
ถ้า Cell ที่ต้องการเปลี่ยนเลขอารบิกเป็นไทย เป็นตัวเลขล้วน ก็ง่ายเลย แค่เปลี่ยนรูปแบบการแสดงผล ก็เรียบร้อยแล้ว โปรดอ่านรายละเอียดเรื่อง Format Cells จากเว็บไซต์ของไมโครซอฟต์โดยตรง สิ่งที่เราจะทำคือ Custom Number Format
วิธีนี้ เราเพียงแค่ แก้ไข “รูปแบบการแสดงค่า” ของตัวเลข นั่นคือ แทนที่จะเป็นเลขอารบิก ให้แสดงค่าเป็นเลขไทย แต่โดยเนื้อหาข้างในยังเป็นตัวเลขเหมือนเดิม เอาไป บวก ลบ คูณ หาร ได้อย่างปกติ
วิธีการก็เพียงแค่คลิกขวาที่ Cell เลือก Format Cells แล้วไปที่แท็บ Number เลือก Custom
เวลาคลิกเลือก Format Cells แล้ว จะเห็นว่าตรง Custom มีแบบแผนให้เลือกมากมายพอสมควร แล้วเราจะต้องปรับแต่งมันอย่างไร?
DataRevol.com ขออนุญาตแนะนำให้กลับไปอ่านเรื่อง Custom Number Formats ที่ได้เคยอธิบายเอาไว้แล้ว
ถ้าหาก ท่านตั้งค่า Windows ให้มี Lacale เป็น “ไทย” อยู่แล้ว และได้ลง Excel เวอร์ชัน ภาษาไทย ไว้ ตรงนี้ท่านจะได้เห็น โค้ด ที่ขึ้นต้นด้วยตัว t ทำเป็นรูปแบบให้ท่านเลือก และสามารถดัดแปลงได้ ตรงนี้คือ จะเป็นตัวเลขไทย
แต่ หากท่านไม่ได้ตั้งค่า Locale เป็นไทย อาจจะตั้งเป็น อเมริกา สหราชอาณาจักร หรือว่า ไม่ได้ลง Excel เวอร์ชัน ภาษาไทย ตรงนี้จะไม่มีขึ้นมาในตัวเลือกของ Custom
ซึ่งเราจะใช้สูตรเลขไทย โดยพิมพ์ t นำหน้ารูปแบบ ในการเปลี่ยนเลขอารบิกเป็นไทยด้วยการพิมพ์
t#,##0_);(t#,##0)
แต่บางทีสูตรเลขไทยนี้ใช้ไม่ได้ โปรดข้ามไปอ่านโค้ดถัดไปด้านล่าง
สาเหตุที่ t# หรือ t0 ใช้ไม่ได้นี่ ยังไม่ได้หาสาเหตุที่ชัดเจน แต่เดาไว้สองอย่าง อย่างแรก อย่างที่บอกด้านบน น่าจะเป็นการตั้งค่า Region ของคอมพิวเตอร์ ทำให้ใช้งานไม่ได้ หรือ อาจจะเป็นเพราะ เปลี่ยนแปลงเวอร์ชัน Excel ทำให้การเปลี่ยน format ของ Number ที่เขียนไปข้างบนที่ใส่ตัว t นำหน้าใช้ไม่ได้แล้ว
วิธีที่ใช้ทำงานอยู่ทุกวันนี้ (ที่ใช้อยู่ตอนเขียนนี้จะเป็น Microsoft 365) เวลาแก้ไขรูปแบบ format จะใช้โค้ด
[$-D07041E]
ตามด้วยสัญลักษณ์ต่าง ๆ ที่เขียนถึงข้างต้น อันนี้เป็นตัวกำหนด locale ใน format ของ Excel ซึ่งนำไปดัดแปลงใช้งานได้
โดย [$-D07041E] เป็นตัวกำหนด International Fomat คือ การ ที่เราเรียกใช้ตัวเลขไทย (D) และใช้รูปแบบปฎิทินทางพุทธ (07 – ตรงนี้อย่าลืมว่า Excel เก็บวันที่ในรูปแบบตัวเลข) และ กำหนดรหัส LCID สำหรับภาษาไทย คือ 041E (อ่านที่เว็บไมโครซอฟต์)
ตัวอย่างแบบมีตัวคั่นหลักพัน เป็นจำนวนเต็ม
[$-D07041E]#,###,##0
จาก format ข้างบน โปรดสังเกตว่าจะให้ใส่เครื่องหมายจุลภาคคั่นหลักพันไว้ ถ้าไม่ต้องการก็เอาออกได้ ยังเก็บค่าเป็นตัวเลขอารบิกอยู่ เพียงแต่แสดงผลเป็นเป็นเลขไทยเท่านั้น นำไปคำนวณได้ตามปกติ
TIPS: ถ้าต้นทาง ใส่เลขไทยมา แต่เราอยากให้เป็นเลขอารบิก เราใช้ 00.00 ก็ได้เหมือนกัน ง่าย ๆ แบบนี้เลย
สูตรเลขไทย กรณีที่ Cell เป็น Text
แต่ถ้าเป็นตัวเลขที่อยู่ใน Cell ที่ไม่ได้จัดเก็บเป็นตัวเลข อาจจะด้วยมีข้อความอะไรเติมหน้าหรือต่อท้ายตัวเลข ทำให้ Cell นั้นกลายเป็นข้อความไปแทนที่จะเป็นตัวเลข
เคยแนะนำหลายคนที่ชอบใช้ Excel เป็นแค่เครื่องมือทำตารางว่า ถ้าเป็นตัวเลข และเป็นสิ่งที่ต้องนำไปคำนวณหรือต้องนำไปใช้ต่อ ให้แยก Cell กันไว้ อย่างเช่นจะใส่ “120 บาทถ้วน” ก็ควรเอา 120 ไว้ที่ cell หนึ่ง คำว่า บาทถ้วน ก็ไว้อีก cell หนึ่ง เวลาจะคำนวณบวกลบคูณหารจะได้ทำได้
TIPS: หรือถ้าอยากจะให้มีคำว่า “บาท” ต่อท้ายใน cell เดียวจริง ๆ ก็ลองใช้ฟอร์แมตแบบ custom ดู คือใส่
#,##0.00 “บาท”
สมมติใส่ตัวเลข “12345.67” จะแสดงผลเป็น “12,345.67 บาท” โดยที่ค่าที่เก็บไว้ยังเป็นตัวเลขที่เอาไปคำนวณต่อได้อยู่
ทีนี้กลับมาว่ากันต่อ ถ้าหากว่า cell เป็น text ก็คงต้องใช้ มาโคร วิธีการแนวคิดแบบเดียวกับ Word (เดี๋ยวจะเขียนถึงอีกครั้ง) โดยใน Excel เรียกใช้จาก View > Macros ใส่ชื่ออะไรก็ได้ในช่อง macro name คลิก Create เพื่อเข้าสู่วิชวลเบสิก
ใส่คำสั่งนี้เข้าไป
Sub arabictothai()
For i = 0 To 9
Cells.Replace What:=Chr(48 + i), Replacement:=Chr(240 + i)
Next
End Sub
Sub Thaitoarabic()
For i = 0 To 9
Cells.Replace What:=Chr(240 + i), Replacement:=Chr(48 + i)
Next
End Sub
คำสั่งนี้มีคำสั่งย่อย 2 คำสั่ง คือ arabictothai กับ thaitoarabic คือบรรทัดที่เขียนว่า Sub arabictothai () กับ Sub thaitoarabic() ตัวนี้จะเป็นการตั้งชื่อมาโคร
คำสั่งไม่มีอะไรมาก แค่ค้นหาเลข 0–9 แล้วแทนที่ด้วย ๐ — ๙ หรือในทางกลับกัน ค้นหาเลข ๐ — ๙ แล้วแทนที่ด้วย 0 – 9
วิธีใช้ก็ง่ายแสนง่าย ไปที่ View > Macros คลิกที่ชื่อมาโครที่ต้องการแล้วกด Run
และถ้าต้องการสร้างปุ่มลัด ก็ใช้วิธีเดียวกับที่เขียนถึงในเวิร์ด
คลิกเมนู Customize Quick Access Toolbar > More Commands
ไดอะล็อกบล็อก Customize จะแสดงขึ้นมา เลือกตรง Choos Command From ให้เป็น macro คลิกเลือก macro ที่ต้องการแล้วกด Add ให้ไปอยู่หน้าต่างด้านขวา
เปลี่ยน Icon ชื่อของปุ่ม โดยคลิกเลือก Macro ที่ต้องการแล้วกด Modify เลือก icon และอาจจะเปลี่ยนชื่อก็ได้หากต้องการ
เพียงเท่านี้ก็จะได้มาโครเอาไว้ใช้งาน
โปรดดูวิดีโอประกอบ
หวังว่าที่เขียนมาจะช่วยท่านผู้อ่านเปลี่ยนเลขอารบิกเป็นไทย และทำงานได้อย่างราบรื่นนะจ๊ะ
Discover more from Data Revol
Subscribe to get the latest posts sent to your email.