ไขปริศนา! BAHTTEXT ฟังก์ชันที่คนทั่วโลกแอบอิจฉาคนไทย

เคยสงสัยไหมครับว่า ทำไม Excel มีฟังก์ชัน BAHTTEXT ใช้แปลงตัวเลขเป็นภาษาไทย?

ทำไมไม่มีฟังก์ชั่น DOLLARTEXT ใช้แปลงตัวเลขเป็นภาษาอังกฤษ?

ทำไมไม่มีฟังก์ชัน YENTEXT ใช้แปลงตัวเลขเป็นภาษาญี่ปุ่น?

(แต่ถ้า เย็นเตร็กซ์ เจ้าของเดียวกับโทนาฟนะ ^^)

ก่อนจะไปถึงตรงนั้น ขออธิบายวิธีใช้ฟังก์ชัน BAHTTEXT สักนิด เผื่อบางคนอาจยังไม่เคยใช้ครับ

BAHTTEXT คือฟังก์ชั่นที่ใช้แปลง ตัวเลข เป็น จำนวนเงินที่เขียนด้วยภาษาไทย

มักใช้กับเอกสารที่ต้องระบุจำนวนเงินเป็นตัวหนังสือ เช่น ใบเสนอราคา ใบแจ้งหนี้ ใบเสร็จรับเงิน

เช่น ต้องการแปลงตัวเลข 123.45 ให้เป็น หนึ่งร้อยยี่สิบสามบาทสี่สิบห้าสตางค์

วิธีใช้ ง่ายมั่กๆ แค่ใส่ตัวเลขไว้ที่เซลล์ๆนึง (เช่น A1)

แล้วเขียนสูตร

=BAHTTEXT(A1)

2016-12-30_134701

ว๊าว!

(หรือใส่ตัวเลขลงไปในฟังก์ชั่นตรงๆแบบนี้ =BAHTTEXT(123.45) ก็ได้เช่นกัน)

ตอนแรกที่ผมรู้จักฟังก์ชันนี้ ผมอึ้งมาก ไม่คิดว่าจะสะดวกง่ายดายขนาดนี้

ยิ่งรู้ว่าฟังก์ชันแบบนี้มีเฉพาะภาษาไทยภาษาเดียว ยิ่งอึ้งใหญ่ (พี่ชายอึ้งย้ง ^^)

ขนาดภาษาอังกฤษ ยังไม่มีเลย!

เรื่องนี้ แม้แต่ฝรั่งเอง ก็สงสัยเหมือนกัน เป็นที่ถกเถียงกันในฟอรัมต่างๆ

จนมีคนอ้างอิงคำตอบของคุณ John Walkenbach (หนึ่งในสุดยอดกูรู Excel ของโลก) ว่า

“It’s been suggested (by an anonymous Excel MVP) that the Excel programmers enjoy Thai food, and they created this function to facilitate email orders to Redmond Thai restaurants. This theory has not yet been confirmed — but then again it hasn’t been denied either.”

(อ้างอิงจาก http://forum.chandoo.org/threads/most-useless-excel-feature.9679/)

สรุปง่ายๆก็คือ

ทีมโปรแกรมเมอร์ของเอ็กเซลที่เรดมอนด์ (Redmond) เค้าชอบอาหารไทยมาก จึงสร้างฟังก์ชันนี้ในเอ็กเซล เพื่อใช้อีเมล์สั่งอาหารไทย เวลาคิดเงินจะได้สะดวก

เรื่องนี้ไม่ได้ถูกยืนยัน แต่ก็ไม่ได้ถูกปฏิเสธ!

ผมลองถามกูรูเอ็กเซลหลายคน ก็ได้คำตอบคล้ายๆกัน

ไม่เชื่อก็ต้องเชื่อครับ ^__^

อีกทฤษฎีนึงที่เป็นไปได้คือ โปรแกรมไมโครซอฟต์ออฟฟิศสมัยก่อน ถูกจัดการแบบแยกตามประเทศ เพราะต้องดูความเข้ากันได้ของภาษา ฟอนต์ และรายละเอียดปลีกย่อยอื่นๆ

แต่ละประเทศมีทีมของตัวเอง สามารถเพิ่มฟีเจอร์หรือฟังก์ชันที่ใช้เฉพาะประเทศนั้นๆได้

สมัยก่อนจึงมีฟังก์ชัน “แปลกๆ” เต็มไปหมด

ฟังก์ชัน DOLLARTEXT ก็เป็นหนึ่งในฟังก์ชัน “แปลกๆ” นั้น

ภายหลังไมโครซอฟต์เปลี่ยนแนวทาง ให้มีทีมพัฒนาทีมเดียว มีตัวช่วยสำหรับแปลงภาษา แต่ละประเทศจึงไม่ต้องมีทีมของตัวเองแล้ว เป็นที่มาของการสังคายนาฟีเจอร์ ฟังก์ชัน ต่างๆ

ฟังก์ชัน “แปลกๆ” โดนตัดทิ้งซะเหี้ยน

ขนาดฟังก์ชั่น DOLLARTEXT ยังโดนตัดทิ้งเลย คิดดู!

(ตอนนี้ ฟังก์ชัน DOLLARTEXT ใช้ได้เฉพาะกับ Microsoft Word เท่านั้น)

แต่…ฟังก์ชัน BAHTTEXT ไม่โดนตัดทิ้ง!

ทำไมถึงไม่โดนตัดทิ้งน่ะหรือครับ?

ผมคิดว่ามี 2 เหตุผล

เหตุผลแรกคือ ทีมโปรแกรมเมอร์ยังใช้ฟังก์ชันนี้สั่งอาหารไทยอยู่ (ก็เค้าชอบอาหารไทยอ่ะ ผิดเหรอ ^^)

อีกเหตุผลนึงคือ ก่อนจะตัดฟังก์ชันหรือฟีเจอร์ใดๆทิ้ง จะมีการสอบถามจาก MVP (Microsoft Most Valuable Professional) ถึงการใช้งาน

MVP ของประเทศไทยแจ้งว่า ฟังก์ชันนี้คนไทยยังใช้งานอยู่

ฟังก์ชัน BAHTTEXT จึงไม่ถูกตัดออกไป

เสมือนเป็นของขวัญสุดพิเศษจากไมโครซอฟต์ ที่มีให้เฉพาะคนไทย ชาติเดียวในโลก

ขอขอบคุณ MVP คนไทยทุกท่าน ที่ช่วยไฟต์ให้พวกเราได้ใช้ฟังก์ชันนี้กันต่อครับ ^/\^


แต่.. ฟังก์ชัน BAHTTEXT แปลงตัวเลขได้เป็นภาษาไทยเท่านั้น

แล้วถ้าต้องการแปลงตัวเลขเป็นภาษาอังกฤษล่ะ? ต้องถึกอย่างเดียวเหรอ?

ไมโครซอฟต์เค้าไม่ได้ใจไม้ไส้สละขนาดนั้น (สมัยนี้หาระกำยาก ^^) เค้ามีโค้ดสำหรับการแปลงตัวเลขให้เป็นภาษาอื่นด้วย

อยากได้ภาษาไหน ก็เปลี่ยนรายละเอียดในโค้ดให้เป็นภาษานั้น

เค้าไม่สร้างฟังก์ชันขึ้นมาสำหรับภาษาใดโดยเฉพาะ (ยกเว้น BAHTTEXT) ไม่งั้นจะหาว่าสองมาตรฐาน

โค้ดที่ว่า อยู่ในเว็บนี้ครับ

http://support.microsoft.com/kb/213360

ดูตัวอย่างบางส่วนของโค้ดได้ จากภาพด้านล่างครับ

VBA_HowToCreateSpellFunction.png
http://support.microsoft.com/kb/213360
“เอิ่ม.. ดูยากเกิ๊น มีวิธีที่ง่ายกว่านี้ไหม?”

ในทางปฏิบัติ คงมีน้อยคนที่จะเอาโค้ดนี้ไปแปลงและนำมาใช้จริง

แต่..ถือเป็นโชคดีของคนไทย(อีกแล้ว) เพราะอาจารย์สมเกียรติ ฟุ้งเกียรติ ได้ดัดแปลงโค้ดนี้ให้เป็น Add-Ins สำหรับการแปลงตัวเลขเป็นภาษาอังกฤษ ใช้ชื่อฟังก์ชันว่า BahtOnly

BahtOnly_Fucntion.png

หรือ ถ้าต้องการแปลงจำนวนเงิน แล้วมีหน่วยของสกุลเงินใหญ่ (เช่น Dollar) และสกุลเงินย่อย (เช่น Cent) อาจารย์สมเกียรติก็สร้างฟังก์ชันชื่อ Money ไว้ตอบโจทย์ความต้องการนั้น

Money_Function.png

สุดยอด!

ใครสนใจ Add-Ins ฟังก์ชัน BahtOnly หรือ Money (และฟังก์ชันอื่นๆ) ที่อาจารย์สมเกียรติสร้างไว้ สามารถดาวน์โหลดได้จากเว็บนี้ครับ

http://www.excelexperttraining.com/indexdownload.html

ขอบคุณอาจารย์สมเกียรติ ฟุ้งเกียรติ ที่สร้าง Add-Ins ทรงคุณค่าให้พวกเราได้ใช้กันครับ ^/\^

.

ที่สำคัญ บุคคลที่ลืมไม่ได้ก็คือ ร้านอาหารไทยที่เรดมอนด์

พวกเค้าจะรู้ไหมเนี่ยว่า เค้าทำให้พวกเราชาวไทยทำงานสะดวกขึ้นมากมาย

ขอบคุณร้านอาหารไทยที่เรดมอนด์ครับ ^/\^

ดีใจที่ได้เกิดเป็นคนไทย ^__^

.

หากคุณชอบบทความแนวนี้ สามารถอัพเดตบทความใหม่โดยคลิก Like เฟสบุ๊คแฟนเพจ วิศวกรรีพอร์ต หรือคลิก ที่นี่

อย่าลืมแชร์ให้เพื่อนอ่าน เพื่อเป็นกำลังใจให้คนเขียนด้วยนะครับ ^_^

วิศวกรรีพอร์ต

คนธรรมดาผู้มีประสบการณ์ทำงานหลากหลายตำแหน่ง คลุกคลีกับการทำรีพอร์ตมาโดยตลอด สุดท้ายค้นพบแนวทางของตัวเอง จึงอยากแบ่งปันเคล็ดลับและประสบการณ์ให้กับผู้สนใจ

5 thoughts on “ไขปริศนา! BAHTTEXT ฟังก์ชันที่คนทั่วโลกแอบอิจฉาคนไทย

  1. Actually, a member of Thai development team developed this function to satisfied a requirement from Thai Enterprise and Thai government. So, this was one of the earlier innovation in Microsoft product designed and developed by Thai developer specially for Thai people.
    (Source: from someone who wrote that code 🙂 )

  2. จำได้ว่าสมัยยุค 2000 โปรแกรมเมอร์มักได้โจทย์ แปลงตัวเลขเป็นบาทใน excel ก่อนเข้าทำงานแบงค์

  3. อาจเป็นมรดกตกทอดมาแต่สมัย Microsoft Office Thai Edition จำได้ว่าเวอร์ชั่นอังกฤษจะไม่มีฟังก์ชั่นไทย ๆ เช่น Bahttext รวมทั้ง Auto-Fill แบบไทย ๆ (ชื่อวัน-เดือน) ที่จะมีเฉพาะในรุ่นภาษาไทยเท่านั้น ถ้าบริษัท/องค์กรไหนใช้รุ่นภาษาอังกฤษแล้วจะใช้ฟังก์ชั่นพวกนี้ ต้องเขียนเพิ่มเอาเอง

    🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.