การปัดเศษทศนิยมด้วย Excel Function
ศักดา
ศักดิ์ศรีพาณิชย์
วสส.พล.
www.mrsakda.com
บทความครั้งนี้ถือว่าเป็นการตอบคำถามของคุณ toyyear@hotmail.com นะครับ เขาถามมาว่า
"คือ ผมพัฒนาโปรแกรมการออกใบกำกับภาษีออกมาตัวนึงนะครับ แต่อย่างอื่นผ่านหมดแล้ว ลูกค้าติดใจตรงจุดทศนิยมนะครับ ทำยังไงถึงจะปัดจุดทศนิยมทิ้งได้ครับ ตัวอย่างนะครับ เช่น มันคำนวณ ออกมาได้ 121.5658 นั่นคือค่าที่ได้จริงๆ แล้วผมกำหนดจุดทศนิยมไว้ 2 ตำแหน่งมันก็จะได้ 121.57 ใช่ไหมครับ แต่เวลามันเอาไปคำนวณ จริง ๆ มันเอาค่า 121.5658 ไป ทำยังไงถึงจะปัดเศษ ที่ไม่ต้องการได้ละครับ อย่างตัวอย่างที่ยกมามันน่าจะปัดเป็น 121.57 ไปเลยเศษที่เหลือน่าจะทิ้งไป สามารถทำได้ไหมครับ ช่วยผมหน่อย จนปัญญาแล้วจริงๆ
ขอตอบดังนี้ครับ
อันดับแรก ทำความเข้าใจที่ Microsoft Excel ก่อนครับ คือ ข้อ 1- 3 แล้วจึงไปจัดการใน Access ครับ
1. คงต้องใช้ Function ของ Microsoft Excel ช่วยครับ ตามรูปที่ 1

รูปที่ 1
ซึ่งมี 3 ฟังก์ชัน ครับ คือ ROUND ROUNDDOWN และ ROUNDUP ครับ
2. การกำหนดใน Microsoft Excel ก็จะมีการกำหนด อาร์กิวเมนต์ของฟังก์ชัน ตามรูปที่ 2

รูปที่ 2
3. จากข้อ 2 ขอยกตัวอย่างนะครับ เช่น ช่อง Number ก็เป็นการใส่ชื่อเซลที่มีตัวเลขอยู่ A1 หากเป็น Access ก็จะใส่ชื่อ Object ตัวแสดงผลนั้น ส่วนช่อง Num_digits ก็ใส่จำนวนตำแหน่งทศนิยม เช่น 2 เป็นต้น ผลลัพธ์ก็จะได้ฟังก์ชันเป็น =ROUND(A1,2)

รูปที่ 3
อันดับสอง ทำที่ Access
ในส่วนของ Access ก็สร้าง Module ก่อนครับ แล้วไปกำหนด Object ในส่วนของ Control Source ให้ใช้ Function จาก Module ที่สร้างขึ้น
1. สร้าง Module มี Function ข้างล่างนี้ อ่านการสร้าง Module คลิกที่นี่ และ อ่านตัวอย่างการเรียกใช้ Function คลิกที่นี่
|
|
2. นำชื่อ Function ไปใช้ที่ Control Source ของ TextBox เช่น
=Round_Excel([ttt],2)
คำอธิบาย
Round_Excel คือ ชื่อ Function
ttt ในที่นี้เป็นชื่อของฟิลด์
ส่วนเลข 2 คือ จำนวนตำแหน่งจุดทศนิยม
หวังว่าคงเป็นคำตอบให้คุณ toyyear@hotmail.com ได้บ้างนะครับ ส่วนจะใช้ ROUND หรือ ROUNDDOWN หรือ ROUNDUP ก็เลือกใช้ตามงานที่กำหนดนะครับ อนึ่ง อย่าลืมกำหนด Microsoft Excel Object Libary ที่หน้าต่าง Visual Basic Editor > Tools > References > Microsoft Excel Object Library (เลือกรุ่นที่ปรากฏอยู่นะครับ สำหรับเครื่องที่ผมทำอยู่ตอนนี้เป็น Microsoft Excel 10.0 Object Library ) สวัสดีครับ
****************************
3 มิถุนายน 2548