วันพฤหัสบดีที่ 9 กุมภาพันธ์ พ.ศ. 2555

การ Add on ฟังก์ชั่น แปลงงเงินบาทเป็นภาษาไทย

   ในใบเสร็จรับเงิน หรือข้อความที่เกี่ยวกับการเงิน มักจะมีการวงเล็บจำนวนเงินเป็นภาษาไทย ตัวอย่างต่อไปนี้ จะใช้ตัวอย่้างใบเสร็จมาเพิ่มเติม ให้สมบูรณ์ยิ่งขึ้น พร้อมทั้งมีการพิมพ์ตัวอักษรจำนวนเงิน ถ้ามีการเปลี่ยนแปลงยอดเงิน ก็ให้ตัวเลขเปลีั่ยนแปลงตามไปด้วย
เราใช้ฟังก์ชั่น BAHTTEXT() เพื่อเปลี่ยนตัวเลขเป็นตัวอักษร


BAHTTEXT(number)

number

เป็น ตัวเลขจำนวน เงิน ซึ่งสามารถมีจุดทศนิยมได้ ในตัวอย่างนี้ เราจะอ้างอิงโดยการใส่ตำแหน่งของ ตัวเลขจำนวนเงิน ที่คำนวณได้ ซึ่งจะทำให้ตัวหนังสือเปลี่ยนแปลงได้ ถ้ามีการเปลี่ยนตัวเลขจำนวนเงิน


  • เปิดไฟล์ Excel ใหม่


  • สร้างรายการข้อมูลสินค้า ในช่วง H1:J5 พร้อมทั้งกรอกข้อมูล ดังนี้
  • ตั้งชื่อตารางข้อมูลในช่วง H1:J5 ว่า products (ดูวิธีการตั้งชื่อจากตัวอย่างก่อนหน้านี้)
  • ที่ A1:E1 ให้พิมพ์หัวของใบเสร็จ ดังภาพ
  • ที่ ช่อง B2 ให้พิมพ์สูตรเพื่อหา ชื่อสินค้า จากตาราง ดังนี้
    =IF($A2="","",VLOOKUP($A2,products,2,TRUE))
  • ที่ ช่อง C2 ให้พิมพ์สูตรเพื่อหา ราคาของสินค้า จากตาราง ดังนี้
    =IF($A2="","",VLOOKUP($A2,products,3,TRUE))
  • ให้่คัดลอกสูตรในช่อง B2 ไปจนถึงช่อง B5
  • ให้่คัดลอกสูตรในช่อง C2 ไปจนถึงช่อง C5
  • เขียนสูตรให้รวมเงิน ในช่อง E2 ดังนี้
    =IF($C2="","",C2*D2)
  • ให้คัดลอกสูตรในช่อง E2 ไปจนถึง E5
  • ช่อง E6 เป็นการรวมเงินทั้งหมด ให้เขียนสูตรรวม คือ =SUM(E2:E5)
  • ช่อง B6 พิมพ์คำว่า รวมทั้งสิ้น
  • ช่อง B7 จะเป็นการแปลงตัวเลขที่รวมได้ในช่อง E6 เป็นเงินบาท โดยเขียนสูตรที่ช่อง B7 ดังนี้
    =BAHTTEXT(E6)
  • ถ้าต้องการเครื่องหมายวงเล็บคร่อม ให้เขียนสูตรในช่อง B7 ดังนี้
    ="(" & BAHTTEXT(E6) & ")"


  • เมื่อเสร็จแล้ว จะได้ผลลัพธ์ดังนี้

    ตลอดระยะเวลาหลายปีที่บรรยายหลักสูตร Excel เรื่องที่ผู้เข้าอบรมมักจะสอบถามกันมากคือ การแปลงจำนวนเงินเป็นข้อความภาษาอังกฤษ ทั้งนี้ ผู้ที่ใช้งาน Excel อยู่บ่อยๆ คงจะคุ้นเคยกับการใช้ฟังก์ชัน BAHTTEXT เพราะฟังก์ชันตัวนี้ช่วยในการ แปลงจำนวนเงินเป็นข้อความภาษาไทย เช่น =BAHTTEXT(125.50) จะได้ผลลัพธ์ “หนึ่งร้อยยี่สิบห้าบาทห้าสิบสตางค์” แต่ถ้าตัวเลขจำนวนเต็ม ไม่มีเศษทศนิยม เช่น =BAHTTEXT(125) จะได้ผลลัพธ์ “หนึ่งร้อยยี่สิบห้าบาทถ้วน” เป็นต้น

    ถ้าต้องการให้มีสัญลักษณ์หรือข้อความอื่นๆ กำกับด้วย
    เช่น “===หนึ่งร้อยยี่สิบห้าบาทห้าสิบสตางค์===”
    ก็พิมพ์สูตรดังนี้
    ="==="&BAHTTEXT(125.50)
    &"==="หรือ "รวมเป็นเงินทั้งสิ้น : หนึ่งร้อยยี่สิบห้าบาทห้าสิบสตางค์"
    ก็พิมพ์สูตรดังนี้
    ="รวมเป็นเงินทั้งสิ้น : "&BAHTTEXT(125.50)

    และถ้าต้องการให้มีวงเล็บครอบข้อความ
    เช่น “(หนึ่งร้อยยี่สิบห้าบาทห้าสิบสตางค์)”
    ก็พิมพ์สูตรดังนี้
    ="("
    &BAHTTEXT(125.50)&")"

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



    ก่อนอื่นผมขอแนะนำให้คุณไปดาวน์โหลดไฟล์ Add-Ins ที่ชื่อว่า ThaiFunction.xla แต่เดิม Add-Ins ชุดนี้ ผมรวบรวมเอาไว้ใช้งานเอง แต่หลังจากที่ได้แนะนำให้เพื่อนๆ ใช้ ก็มีการบอกต่อกัน และก็เริ่มแพร่หลาย แต่ฟังก์ชันต่างๆ ที่รวบรวมอยู่ใน Add-Ins ชุดนี้ ส่วนหนึ่งผมรวบรวมมาจากเว็บ ExcelExpertTraining บางส่วนก็เขียนขึ้นเอง (แบบว่าหัดทำครับ) ซึ่งก็ต้องขอขอบคุณผู้พัฒนาโค๊ดต้นฉบับทุกท่านมา ณ ที่นี้ด้วย



    เมื่อ ดาวน์โหลดไฟล์มาแล้ว ให้แตกไฟล์ .rar และนำไฟล์ ThaiFunction.xla ไปวางไว้ในโฟลเดอร์ใด โฟลเดอร์หนึ่ง แต่อยากจะแนะนำให้วางไว้ในโฟลเดอร์ที่คาดว่าจะมีอยู่ในทุกๆ เครื่อง เช่น C:\Windows หรือ C:\Program Files เป็นต้น (เพื่อว่า ถ้ามีการนำไฟล์ Excel ที่มีการใช้ฟังก์ชันใน Add-Ins ชุดนี้ ไปเปิดในเครื่องอื่น ไฟล์งานนั้นจะสามารถเปิดได้เป็นปกติ)


    วิธีการติดตั้งกรณีใช้ Excel 2003 ให้ทำตามขั้นตอนดังนี้

    1. เปิดโปรแกรม Excel ขึ้นมา
    2. คลิกที่เมนู Tools > Add-Ins...
    3. เมื่อหน้าต่าง Add-Ins ปรากฎขึ้นมา (อาจมีรายการไม่เหมือนกับในรูป) ให้คลิกที่ปุ่ม Browse...
    4. เลือกไปยังโฟลเดอร์ที่อยู่ของไฟล์ ThaiFunction.xla เช่น C:\Windows
    5. คลิกที่ชื่อไฟล์ ThaiFunction.xla แล้วคลิก OK เพื่อกลับมายังหน้า Add-Ins
    6. จะเห็นว่ามีรายการ รวมฟังก์ชันแบบไทย เพิ่มขึ้นมาอีกตัวหนึ่ง ให้คลิก OK อีกครั้งหนึ่ง


    สำหรับ 2007 ให้คลิกที่โลโก้ MS Office มุมซ้ายบน แล้วคลิกปุ่ม Excel Options (ซึ่งจะอยู่ล่างๆ) แล้วเข้าไปที่ Add-Ins

    ส่วน Excel 2010 ให้คลิกที่เมนู File, เลือก Options แล้วเลือก Add-Ins และคลิก Go






    ฟังก์ชันตัวแรกที่จะแนะนำได้แก่ BahtOnly มีวิธีการใช้เช่นเดียวกับ BahtText เช่น =BahtOnly(125.50) หรือถ้าใส่ตัวเลข 125.50 ไว้ที่ A1 ก็ลองพิมพ์สูตร =BahtOnly(A1) ก็จะได้ผลลัพธ์เป็น One Hundred Twenty Five Baht and Fifty Satang



    ใน กรณีที่เราต้องการแปลงตัวเลขเป็นภาษาอังกฤษ แต่เป็นหน่วยอื่นที่ไม่ใช่ บาท-สตางค์ ก็ขอแนะนำฟังก์ชัน Money ฟังก์ชันนี้ใช้งานคล้ายกับ BahtOnly แต่เราสามารถกำหนดหน่วยเองได้ โดยใส่หน่วยหลัก และหน่วยรองลงไปด้วย เช่น =Money(125.50,"Dollar","Cent") หรือ =Money(A1,"Dollar","Cent") จะได้ผลลัพธ์เท่ากับ One Hundred Twenty Five Dollars and Fifty Cents


    กรณี ที่ต้องการแปลงตัวเลขเป็นภาษาไทย แต่อยากเปลี่ยนหน่วยเป็นอย่างอื่น ที่ไม่ใช่ บาท-สตางค์ ในลักษณะเดียวกับการใช้ Money สาเหตุที่สร้างฟังก์ชันตัวนี้ขึ้นมา ก็เพื่อใช้อ่านตัวเลขใดๆ ให้เป็นคำอ่านข้อความภาษาไทย โดยไม่จำเป็นต้องมีหน่วย (ถ้าใช้ BahtText จะได้หน่วยบาทถ้วน หรือบาท...สตางค์มาด้วย ต้องมาเขียนสูตรเพื่อตัดหน่วยอีก) ผมจึงศึกษา Code ของฟังก์ชัน Money และปรับเป็นฟังก์ชัน ReadText ซึ่งจะกำหนดหน่วยหรือไม่ก็ได้ (ถ้าต้องการ) ถ้าไม่กำหนดหน่วย ก็จะเป็นการอ่านตัวเลขแบบทั่วไป

    ตัวอย่างเช่น =ReadText(125.25,"ดอลล่าร์","เซ็นต์",1) จะได้ผลลัพธ์เป็น หนึ่งร้อยยี่สิบห้าดอลล่าร์ยี่สิบห้าเซ็นต์ แต่ถ้าพิมพ์สูตร =ReadText(125.25) จะได้ผลลัพธ์เป็น หนึ่งร้อยยี่สิบห้าจุดสองห้า






    ที่มา:// http://office.microsoft.com
    ที่มา:// http://it-for-hr.blogspot.com/2009/11/blog-post.html
    ที่มา:// http://sites.google.com/site/excel4hr/download/

    ไม่มีความคิดเห็น:

    แสดงความคิดเห็น