วันพฤหัสบดีที่ 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/

    ฟังก์ชัน Match

    ส่ง กลับค่าตำแหน่งรายการข้อมูลในอาร์เรย์ที่ตรงกับค่าที่ระบุตามลำดับข้อง ข้อมูลจากบนลงล่างของตารางข้อมูลที่อ้างอิง โดยส่งกลับมาเป็นหมายเลขของลำดับที่ตรงกับค่าที่นำไปค้นหา
    รูปแบบ
    Match(lookup_value, lookup_arrey, match_type)lookup_value  คือ ค่าที่ใช้ในการค้นหาค่าที่ต้องการในตาราง lookup_arreylookup_arrey  คือ ช่วงของเซลที่อยู่ติดกันซึ่งประกอบด้วยค่าการค้นหาที่เป็นไปได้จะต้องเป็นอาร์เรย์หรือการอ้างอิงอาร์เรย์
    match_type คือ ระบุตังเลข -1,0 หรือ 1 เพื่อระบุว่าจับคู่กับค่าของ lookup_value กับค่าใน lookup_arrey อย่างไร มี 3 แบบ
    1.             ค่า 0 (exact match) จะค้นหาค่าแรกที่เท่ากับ lookup_value โดยค่าของ lookup_arrey  จะเรียงลำดับแบบใดก็ได้
    2.             ค่า 1(less than) จะค้นหาค่ามากสุดที่น้อยกว่าหรือเท่ากับ lookup_value โดยอาร์เรย์จะต้องเรียงลำดับจากน้อยไปหามาก
    3.             ค่า -1(greather than) จะค้นหาค่าน้อยสุดที่มากกว่าหรือเท่ากับค่าของ okup_value โดยจะเรียงลำดับจากมากไปหาน้อยหากไม่ได้ค่าของ match_type จะหมายถึงใช้ค่า 1 เสมอ          
    ตัวอย่าง

























    ขอบคุณข้อมูลจาก...
    ดวงพร เกี๋ยงคำ หนังสือรวมสูตร&ฟังก์ชัน และ Macro&VBA Excel 2010

    การสร้างแผนภูมิ Chart ด้วยคอลัมน์

    สร้างตารางข้อมูลแล้วเรามาเริ่มสร้างแผนภูมิ
    1. เริ่มจากแดรกเมาส์ครอบคลุมพื้นที่ข้อมูลในตารางทั้งหมด


    2.คลิกแท็บ Insert
    3. 
    ให้เลือกประเภทของกราฟ ในที่นี้จะเลือกเป็นกราฟแท่ง จึงคลิก Column
    4. เลือกลักษณะกราฟ โดยเลือกแผนภูมิคอลัมน์ 3 มิติ
    5. สร้างกราฟขึ้นมาได้แล้ว

    เปลี่ยนรูปแบบและขนาดตัวอักษร
    1. นำเมาส์ไปคลิกบริเวณพื้นที่กราฟ
    2. คลิกแท็บหน้าแรก (Home)
    3. คลิกปุ่ม เลือกแบบอักษร
    4. แล้วเลือกแบบอักษรที่ต้องการ
    5. ตัวอักษรก็จะเปลี่ยนรูปแบบตามที่เลือกไว้
    6. เลือกขนาดตัวอักษร
    การเปลี่ยน ข้อมูลในกราฟ
    เราสามารถเปลี่ยนข้อมูลในกราฟได้โดยคลิกเมาส์ขวาตรงบริเวณกราฟเพื่อแก้ไขข้อมูล แต่ในที่นี้เป็นการเลือกคลิกเพื่อเปลี่ยนข้อมูลSeries
    1. 
    คลิกเมาส์ทขวาที่ Series

    2. เลือก Select Data

    3. คลิกเลือก Series ที่ต้องการ
    4. แล้วคลิก Edit
    5. คลิก OK

    6. ใส่ข้อมูลที่ต้องการ
    7. คลิก OK
    8. เมื่อเปลี่ยนข้อมูลครบแล้วให้คลิก OK

    9. ข้อมูลเปลี่ยนแล้ว

    การใส่ชื่อกราฟ
    คลิกบริเวณพื้นที่กราฟ
    1.  คลิกแท็บเค้าโครง (Layout)
    2. คลิกปุ่ม Char Title
    3. เลือกตำแหน่งการวางชื่อแผนภูมิ
    4. กรอบชื่อแผนภูมิจะเพิ่มเข้ามา เราเปลี่ยนชื่อแผนภูมิใหม่





    ขอบคุณข้อมูลจาก:
    ภาษิต เครืองเนียม หนังสือคู่มือ Microsoft Office Excel 2007 ฉบับสมบูรณ์

    การ Copy สูตร แบบสัมพัทธ์และแบบสมบูรณ์


    1. เลือกเซลล์ที่มีสูตรที่คุณต้องการคัดลอก
    2. บนแท็บ หน้าแรก ในกลุ่ม คลิปบอร์ด ให้คลิก คัดลอก
    3. ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้
      • เมื่อต้องการวางสูตรและการจัดรูปแบบใดๆ บนแท็บ หน้าแรก ในกลุ่ม คลิปบอร์ดให้คลิก วาง
      • เมื่อต้องการวางเฉพาะสูตรเท่านั้น บนแท็บ หน้าแรก ในกลุ่ม คลิปบอร์ด ให้คลิกวาง แล้วคลิก วางแบบพิเศษ แล้วคลิก สูตร
     หมายเหตุ   คุณสามารถวางเฉพาะผลลัพธ์ของสูตร บนแท็บ หน้าแรก ในกลุ่ม คลิปบอร์ด ให้คลิก วาง คลิก วางแบบพิเศษ แล้วคลิก ค่า
    1. ตรวจสอบว่าการอ้างอิงเซลล์ในสูตรจะให้ผลลัพธ์ที่คุณต้องการ ถ้าจำเป็น ให้สลับชนิดของการอ้างอิงโดยปฏิบัติดังต่อไปนี้
    1. เลือกเซลล์ที่มีสูตรเก็บอยู่
    2. ในแถบสูตร แถบสูตร ให้เลือกการอ้างอิงที่คุณต้องการเปลี่ยน
    3. กด F4 เพื่อสลับระหว่างการผสมการอ้างอิง
    ตารางต่อไปนี้สรุปวิธีการปรับปรุงชนิดการอ้างอิงถ้าสูตรที่มีการอ้างอิงถูกคัดลอกไปที่สองเซลล์ข้างล่างและสองเซลล์ทางขวา

    เมื่อสูตรที่กำลังถูกคัดลอกเป็นถ้าการอ้างอิงเป็นการอ้างอิงจะเปลี่ยนเป็น
    สูตรที่ถูกคัดลอกอยู่$A$1 (คอลัมน์แบบสัมบูรณ์และแถวแบบสัมบูรณ์)$A$1

    A$1 (คอลัมน์แบบสัมพัทธ์และแถวแบบสัมบูรณ์)C$1

    $A1 (คอลัมน์แบบสัมบูรณ์และแถวแบบสัมพัทธ์)$A3

    A1 (คอลัมน์แบบสัมพัทธ์และแถวแบบสัมพัทธ์)C3

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


    ที่มา:// http://office.microsoft.com/th-th/excel-help/HP010102342.aspx#BMmove_a_formula